Tema 2
Tema 2
Bases de datos y
arquitectura
Índice
Esquema 3
Ideas clave 4
2.1. ¿Cómo estudiar este tema? 4
2.2. Bases de datos relacionales 4
2.3. El diseño de base de datos 10
2.4. Bases de datos basadas en objetos y
semiestructuradas 15
2.5. Almacenamiento de datos y consultas 16
2.6. Gestión de transacciones 17
2.7. Minería y análisis de datos 17
© Universidad Internacional de La Rioja (UNIR)
Lo + recomendado 21
+ Información 25
Test 27
© Universidad Internacional de La Rioja (UNIR)
Normalización Visión
general
ARQUITECTURA EN
LAS BASES DE
BASES DE DATOS DATOS
BASADAS EN OBJETOS
ANSI-SPARC
Y
SEMIESTRUCTURADAS
Objetos
XML
Tema 2. Esquema
Esquema
Para estudiar este tema deberás leer las páginas 9-21 de: Silberschatz, A., Korth, H. F. y
Sudarshan, S. (2006). Fundamentos de bases de datos (5a. ed.). Madrid: McGraw-Hill
España.
Disponible a través de la Biblioteca Virtual de UNIR.
Además se deberán leer las ideas clave expuestas a continuación.
E
n este tema continuamos familiarizándonos con los conceptos principales
de las bases de datos (BD). Para ello, comentaremos más ampliamente el
modelo relacional, que será el que estudiemos a lo largo de la asignatura,
además del modelo de BD orientadas a objetos y cómo todo ello se relaciona con la
minería de datos. También revisaremos los principales conceptos sobre
transacciones y sobre las arquitecturas de las BD.
L
as BD relacionales se caracterizan porque almacenan los datos a partir de
© Universidad Internacional de La Rioja (UNIR)
Tablas
Una tabla es una estructura compuesta por filas y columnas. Las tablas pueden tener
cualquier número de atributos o campos, pero cada columna debe tener un nombre
único y debe ser de un tipo determinado. Las filas o registros representan entidades
concretas, donde cada uno de los atributos tiene un valor concreto. Todos los
registros tienen la misma estructura, que coincide con la definición de los atributos
definidos en la tabla.
Por ejemplo, en una entidad bancaria tendremos una tabla para los clientes, de los
que almacenaremos su código, nombre, dirección y localidad.
Esta tabla almacena la información de los clientes del banco. Veamos el primer
registro: representa al cliente cuyo código dentro de la entidad es el 80, su nombre
es José, vive en la calle Beas de Segura, 12 de la ciudad de Málaga.
Tengamos en cuenta que estos primeros ejemplos pretenden ilustrar los conceptos,
pero a medida que avancemos en la asignatura, comentaremos detalles de diseño
que deben refinarse para llegar a una «BD real».
numero_cuenta saldo
C-102 4000
C-055 7000
C-010 5000
C-203 2000
© Universidad Internacional de La Rioja (UNIR)
C-100 1999
C-398 4558
id_cliente numero_cuenta
80 C-398
29 C-100
29 C-055
10 C-203
50 C-010
100 C-398
42 C-102
Por último, la tabla impositor relaciona los clientes con sus cuentas. Así, podemos ver
que el cliente 80 solo tiene una cuenta, la C-398, mientras que el cliente 29 tiene dos
cuentas: la C-100 y la C-055. Además, si revisamos algunos registros más, nos
daremos cuenta de que la cuenta C-398, además del cliente 80, tiene un segundo
titular, que es el cliente 100.
En nuestro ejemplo, esta consulta devolverá una tabla con un único atributo,
nombre_cliente, y dos registros (Mariano y Yolanda).
Si esta consulta la ejecutamos sobre nuestro ejemplo, nos devolvería una tabla con
dos atributos (numero_cuenta y saldo) y dos filas: (C-100, 1999) y (C-055, 7000).
SQL tiene un DDL en que el que podemos definir tablas, restricciones de integridad,
asertos, etc.
Por ejemplo, para crear la tabla cuenta, cuyos campos son un número de cuenta con
diez caracteres alfanuméricos y un saldo entero, tendríamos la siguiente instrucción:
© Universidad Internacional de La Rioja (UNIR)
Algunos cálculos no pueden obtenerse mediante ninguna consulta SQL. Para poder
realizar estos cálculos se debe utilizar un lenguaje anfitrión como Cobol, C, C++ o
Java.
Los diferentes programas que se desarrollan para interactuar con la base de datos
utilizan un lenguaje anfitrión. Por ejemplo, en un sistema bancario se utilizaría
programas que obtienen las nóminas, la realización cargos en las cuentas, realización
de transferencias, etc.
Para acceder a la base de datos, las órdenes DML deben de ser realizadas a través de
un lenguaje anfitrión y puede ser de dos maneras diferentes:
Realizando una extensión de la sintaxis del lenguaje anfitrión para que logre
incorporar las llamadas DML en el programa realizado en el lenguaje anfitrión: lo
habitual es anteceder un carácter especial que activa el precompilador DML, el
cual cambia las instrucciones DML, que se encuentran integradas en un programa
de aplicación, en llamadas a procedimientos normales dentro del lenguaje
anfitrión.
© Universidad Internacional de La Rioja (UNIR)
C
uando se diseña un sistema de base de datos, su finalidad principal es hacer
que se pueda gestionar una gran cantidad de información. Esta gran
cantidad de información forma parte del funcionamiento de alguna
empresa que necesita acceder a ella para poder realizar su producción. Sin embargo,
la existencia de la BD es solo un medio para realizar esa tarea, por lo que ocupa un
papel secundario dentro de la empresa.
Por tanto, el diseño de base de datos implica la elaboración o desarrollo del esquema
de las bases de datos.
Proceso de diseño
El diseñador revisará el esquema para confirmar que todos los requisitos de datos se
satisfacen realmente y no entran en conflicto entre sí. También puede examinar el
diseño para eliminar cualquier característica redundante. En este punto, la atención
Existen dos fases de diseño finales para afianzar el diseño preliminar abstracto de
datos:
La fase de diseño lógico transforma el modelo conceptual al modelo de datos del
sistema que se va a implementar.
Y la fase de diseño físico especifica, por ejemplo, la organización de los ficheros y
las estructuras de almacenamiento interno.
Las características que nacen de esta fase de diseño sirven como base para
determinar la estructura conceptual de la base de datos. La entidad bancaria que
vamos a utilizar de ejemplo a lo largo de la asignatura está caracterizada de la
siguiente manera:
Un banco lo integran una serie de sucursales. Cada sucursal está situada en una
localidad y dicha sucursal queda identificada por un nombre único. El banco puede
supervisar todos los activos de cada sucursal.
El banco ofrece dos tipos de cuenta: cuentas de ahorro y cuentas corrientes. Estas
pueden tener como titular a más de un cliente y cada cliente puede abrir más de
una cuenta. El número identificativo de cada cuenta debe ser único. El banco
almacena el saldo de cada cuenta y la fecha del último acceso que cada titular
El banco ofrece préstamos a sus clientes. Cada préstamo se ofrece desde una
sucursal concreta y puede tener como titulares a uno o más clientes. Cada
préstamo queda identificado por un identificador de préstamo que es único. El
banco realiza un seguimiento del importe de cada préstamo y de sus pagos. Cada
pago de cada préstamo está identificado de forma única dentro de dicho
préstamo. Se registra la fecha y el importe de los pagos.
Los diferentes empleados del banco quedan identificados por su id_empleado. Los
atributos almacenados para los empleados son el nombre y el número de teléfono,
el nombre de las personas dependientes de cada empleado y el id_empleado del
jefe de cada empleado. El banco mantiene el registro de la fecha de contratación
de cada uno y, por lo tanto, de su antigüedad.
El modelo entidad-relación
Ejemplos de entidades serían: las personas, los automóviles, las casas, etc. Para
© Universidad Internacional de La Rioja (UNIR)
Todas las entidades tienen un atributo adicional que será su identificador dentro del
sistema. Estos atributos identificativos tienen como finalidad permitir realizar una
Una relación se define como una asociación entre diferentes entidades. Un ejemplo
sería la relación impositor, cuyo objetivo es asociar a cada cliente con sus diferentes
cuentas.
Normalización
La normalización tiene como fin realizar una organización eficiente de los diferentes
datos que están almacenados en la base de datos, de tal forma que podamos
recuperar la información de forma eficiente.
A
lgunas aplicaciones no pueden manejarse adecuadamente por medio del
modelo relacional, por lo que surgen otros modelos para tratar dichos
dominios de aplicación. Por ejemplo, tenemos el modelo de datos
orientado a objetos, para los modelos de datos basados en objetos; y el relacional
orientado a objetos, para XML.
Por su parte, los modelos de datos semiestructurados permiten que los datos del
mismo tipo estén definidos por conjuntos de datos diferentes. Como ejemplo
tenemos el lenguaje XML, que permite definir los datos basándose una estructura
anidada. Profundizamos más en este lenguaje y el uso de Oracle con XML en la
asignatura de «Bases de Datos Avanzadas».
© Universidad Internacional de La Rioja (UNIR)
L
os SGBD tienen diferentes módulos que se encargan de diferentes
funcionalidades. Grosso modo, podemos distinguir dos: el gestor de
almacenamiento y el procesador de consultas.
El intérprete de DDL.
El compilador de DML.
El motor de evaluación de las consultas.
© Universidad Internacional de La Rioja (UNIR)
U
na transacción es un conjunto de operaciones que realiza una única
función lógica y constituyen la unidad de atomicidad y consistencia
(recordad la transferencia del tema anterior). Es responsabilidad del
programador delimitar las transacciones correctamente para que el sistema pueda
mantener consistencia de la BD. Sin embargo, garantizar la atomicidad y durabilidad
es responsabilidad del sistema. De esta forma, si el sistema falla cuando una
transacción se está ejecutando, esta no tendrá ningún efecto sobre el sistema. Para
ello, se realizará un proceso de recuperación de fallos que restaurará la BD a un
estado consistente anterior.
L
a minería de datos es el análisis semiautomático de grandes bases de datos
para descubrir patrones útiles, con el fin de construir reglas que permitan
predecir comportamientos con cierto grado de confianza.
Las empresas pueden explorar la cantidad de datos que existen en línea para tomar
mejores decisiones sobre sus actividades, principalmente en relación a campañas
publicitarias.
© Universidad Internacional de La Rioja (UNIR)
Los datos textuales se caracterizan por no tener una estructura, por lo que su
tratamiento es, generalmente, más complejo. Los sistemas que trabajan con este tipo
de datos lo hacen a partir de lo que se conoce como recuperación de información y
L
a arquitectura de una BD está fuertemente influenciada por el sistema
informático subyacente. Pueden estar centralizados, ser cliente-servidor,
estar sobre máquinas paralelas o estar distribuidas geográficamente.
Nivel interno. Se compone por un esquema de un nivel interno que tiene como
función describir la estructura física del almacenamiento de la base de datos. La
© Universidad Internacional de La Rioja (UNIR)
Lecciones magistrales
[Link]. (25 de mayo de 2017). Introducción a las Bases de Datos PostgreeSQL [Blog
post]. Blog Bitix.
Este artículo es interesante porque, además de introducir las bases de datos Postgree
y hablar de otras más, presenta Doker, una forma de instalación ligera que permite
trabajar de una forma distinta a la habitual.
Accede a la entrada a través del aula virtual o desde la siguiente dirección web:
[Link]
relacional-postgresql/
© Universidad Internacional de La Rioja (UNIR)
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
[Link]
© Universidad Internacional de La Rioja (UNIR)
Este vídeo hace una introducción a JDBC y una explicación de cómo usarlo,
presentando de forma gráfica cómo se realiza el acceso a la BD desde Java. En el vídeo
JDBC II, que se reproduce a continuación de este, puedes encontrar un ejemplo con
código.
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
[Link]
© Universidad Internacional de La Rioja (UNIR)
A fondo
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
[Link]
En el siguiente enlace puedes aprender a utilizar el JDBC para conectar tu base de datos
con aplicaciones Java. Es un tutorial sencillo donde, paso a paso, se indica cómo
proceder, por lo que esperamos que te sea de utilidad.
© Universidad Internacional de La Rioja (UNIR)
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
[Link]
e_de_datos_desde_java
Accede al documento a través del aula virtual o desde la siguiente dirección web:
[Link]
© Universidad Internacional de La Rioja (UNIR)









