Professional Documents
Culture Documents
DBMS
DBMS
Hay diferentes gestores de base de datos que se pueden clasificar por distintos
criterios.
Para el curso, vamos a utilizar el PostgreSQL, en una instalación propia del CES.
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalización, el resultado de dicho proceso es un esquema que permite que la
base de datos sea usada de manera óptima.
Manipulación de la información
El lenguaje más común para construir las consultas a bases de datos relacionales es
SQL (Structured Query Language), un estándar implementado por los principales
motores o sistemas de gestión de bases de datos relacionales. El lenguaje SQL se
verá con más detalle en el tema número 2.
Esquema de base de datos
Tablas
Los campos son los distintos datos que componen la tabla, por ejemplo:
nombre, apellido, domicilio. La definición de un campo requiere: el nombre del
campo, el tipo de campo, el ancho del campo, etc.
Generalmente los diferentes tipos de datos para cada campo que se pueden
almacenar son los siguientes:
Texto (caracteres),
Numérico (números),
Fecha / Hora,
Lógico (informaciones lógicas si/no, verdadero/falso, etc.)
Por ejemplo, podemos decir que el campo “Draft” tiene como restricción dos
valores: True/False.
Dominios
Siguiendo con el ejemplo anterior, podemos decir que el dominio para “Color” es
(rubia, roja, negra, ambar).
Clave única
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única
cada registro de dicha tabla, es decir, no pueden existir dos o más registros
diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos
se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una de estas
se llama candidata a clave primaria.
Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas que
define unívocamente a todos los demás atributos de la tabla, para especificar los
datos que serán relacionados con las demás tablas. La forma de hacer esto es por
medio de claves foráneas.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave
puede contener valores NULL.
En el ejemplo de las cervezas, la clave primaria para la tabla “Cervezas artesanales”
es la identificación de la cerveza.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la relación
existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la
tabla donde están y sí a donde están referenciadas.
Índice
Los índices surgen con la necesidad de tener un acceso más rápido a los datos. Los
índices pueden ser creados con cualquier combinación de campos de una tabla. Las
bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una
de ellas es óptima para cierta distribución de datos y tamaño de la relación.
Procedimientos almacenados
Triggers
Un disparador define una acción que la base de datos debe llevar a cabo cuando se
produce algún suceso relacionado con la misma. Los disparadores (triggers)
pueden utilizarse para completar la integridad referencial, también para imponer
reglas de negocio complejas o para auditar cambios en los datos. El código
contenido en un disparador, denominado cuerpo del disparador, está formado por
bloques PL/SQL. La ejecución de disparadores es transparente al usuario. [1]
Los eventos que hacen que se ejecute un trigger son las operaciones de inserción
(INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de
una tabla.
[1] https://www.todopostgresql.com/postgresql-create-trigger-disparador-
postgresql/ Ultimo acceso julio 2022
Uno de los temas más importantes al diseñar una base de datos es determinar el
propósito de la base de datos. A continuación, se indican algunos puntos a tener en
cuenta en el proceso de diseño de una base de datos:
Perfeccionar el diseño Luego que ya está el diseño pronto, con las técnicas vistas
en las lecciones anteriores, es bueno que se busquen errores en el diseño. Cree las
tablas y agregue algunos registros de datos de ejemplo. Vea si puede obtener los
resultados que desea de sus tablas. Haga los ajustes necesarios al diseño.
La relación entre una tabla padre y un hijo se lleva a cabo por medio de las
claves primarias y foráneas. Esto es recomendable que se lleve a la base de
datos y no se pretenda hacer el control mediante los programas.
Las claves primarias son la clave principal de un registro dentro de una tabla
y éstas deben cumplir con la integridad de datos. Siempre se debe definir
una clave primaria para cada tabla.
Nulos
Triggers
No abusar del uso de triggers ya que son programas que manipulan los
datos y su definición en exceso puede afectar la performance de la base de
datos.
Índices
Tuning
Históricos
Interoperabilidad
Pensar en la interoperabilidad e intercambio de información. Se deben
definir estándares para la definición de códigos y facilitar el intercambio y
comprensión de datos.
Como ejemplo real, podemos citar la solución de expediente digital provista
por AGESIC que “...permitirá intercambiar expedientes en formato digital con
otros organismos del Estado". [1]. Además, se cuenta con un catálogo [2]
que presenta información de distintas empresas estatales o para estatales,
por ejemplo, sobre la Caja de Profesionales Universitarios (CJPPU) que,
a partir del documento de una persona, retorna qué profesiones tiene
registrados en CJPPU. Sería impensable un intercambio de información tan
relevante, si ésta no fuera verificada antes de compartirla con otras
empresas que la necesiten consumir y de la cual pueden depender
decisiones muy importantes (por ejemplo, la actividad laboral o profesional
de una persona).
Seguridad
Pensar en la seguridad de los datos, si hay datos que son sensibles, si los
datos deben ser encriptados y todo lo referido a la seguridad de la
información.
Calidad de datos
¡Hemos llegado al final del Tema 1! Espero que les haya sido de utilidad la
introducción explicando la importancia de la información, los modelos de datos y
los DBMS. En el tema 2, veremos la importancia de porque testear los datos, como
podemos organizar un testing de datos y comenzaremos con el lenguaje SQL
(Structured Query Language).
[2] https://www.gub.uy/agencia-gobierno-electronico-sociedad-informacion-
conocimiento/tematica/catalogo-plataforma-interoperabilidad?page=0 ,
consultado el 15/7/2021