Académique Documents
Professionnel Documents
Culture Documents
Bancos de datos
relacionales
Este artículo aborda el tema base de datos relacional, sus conceptos, cómo funcionan, ventajas y
desventajas, en una visión general sobre el tema.
¿Por qué debo leer este artículo:
Este artículo está sobre bases de datos relacionales , conceptos, cómo
funcionan, ventajas y desventajas, en una visión general del tema.
Sirve como contenido introductorio sobre el tema, que es de interés para todos los
profesionales del área de base de datos que desean mantenerse dentro de las
tecnologías adoptadas en la práctica.
Los bancos de datos relacionados son los mecanismos de persistencia de datos
más adoptados por las empresas de TI, de modo que los profesionales del área
deben conocer esta tecnología con detalles.
Un sistema de gestión de base de datos relacional es un software que
controla el almacenamiento, recuperación, eliminación, seguridad e
integridad de los datos en una base de datos . En este contexto, este artículo
aborda el tema bases de datos relacionales, sus conceptos, cómo funcionan,
ventajas y desventajas, en una visión general sobre el tema.
Ver más
Figura
1. Un modelo de datos sencillo en notación UML.
Uso avanzado de SGBDRs
Hay varias características avanzadas de RDBMS que los desarrolladores aprenden una
vez que están familiarizados con la funcionalidad básica de la ABM . Cada una de
estas funcionalidades es muy importante, ya veces bastante compleja, haciendo que
tuviéramos que escribir un artículo propio para cubrirlas. Por eso, aquí sólo introducir
los conceptos y entonces los detalles se pueden encontrar en otros artículos. Estas
características incluyen:
1. Almacenamiento de objetos
Para almacenar un objeto en una base de datos relacional que necesitamos para
adaptarla - para crear una representación de los datos de objeto en cuestión -
para bases de datos relacionales sólo almacenar datos. Para recuperar el objeto,
es necesario leer los datos de la base de datos y luego crear el objeto, operación
normalmente llamada de restauración del objeto, basado en los datos
recuperados. Aunque el almacenamiento en una base de datos relacional parece algo
simple, en la práctica no lo es. Esto porque no existe una traducción perfecta y
automática entre las tecnologías de objetos y relacionales, ya que estas tecnologías se
basan en teorías diferentes. Para almacenar correctamente los objetos de bases de
datos relacionales, necesitamos aprender cómo asignar un esquema de objetos a un
esquema de base de datos relacional.
2. Implementar comportamiento en la
base de datos
Comportamiento se implementa en una base de datos relacional a través
de procedimientos almacenados y / o funciones almacenadas que se pueden invocar
internamente en la base de datos y aplicaciones externas. funciones
almacenadas y procedimientos son operaciones que se ejecutan en el RDBMS, la
diferencia entre ellos es que la operación puede volver y si puede ser invocada en
una consulta . Las diferencias no son importantes para nuestro propósito en este
artículo, así que utilizaremos el término procedimiento almacenado para referirse tanto
a las operaciones. En el pasado, los procedimientos almacenados fueron escritos en un
lenguaje propietario, tales como PL / SQL, Oracle, pero ahora Java se está
convirtiendo rápidamente en una opción de lenguaje para la programación de la base de
datos. Un procedimiento almacenado típicamente se ejecuta algún código SQL ,
mensajes de datos y luego espera una respuesta en forma de cero o más registros, un
mensaje de código de respuesta o error de base de datos.
3. Control de la competencia
Considere un sistema de reserva de pasaje aéreo. Hay un vuelo con un asiento y dos
personas están tratando de reservar este asiento al mismo tiempo. Ambas personas
comprueban el estado del vuelo y se les indica que el asiento todavía está
disponible. Ambos informan sus datos para el pago del ticket y luego hacen clic en el
botón de reserva al mismo tiempo. ¿Qué debería suceder? Si el sistema está
funcionando correctamente, sólo una persona debería tener acceso al asiento y la otra
debería ser informada de que no hay ningún asiento disponible. Control de la
competencia es lo que hace que suceda. Se debe implementar a lo largo del código
fuente del objeto en la base de datos.
4. Control de transacción
Una transacción es una colección de acciones en la base de datos - tal como guardar,
recuperar o borrar - que forman una unidad de trabajo. Una bandera de transacciones es
un enfoque que dice "todo o nada", lo que significa que todas las acciones deben
llevarse a cabo con éxito o de lo contrario ser deshecho (operación posterior rollo ). La
transacción anidada es un enfoque donde algunas de las acciones se tratan como sus
propias transacciones, subdividiéndolas. Estas subtransaciones se cometan una vez con
éxito y no se deshacen si la transacción más grande falla. Las transacciones pueden
todavía ser de corta duración, ejecutándose en centésimas de segundo, o de larga
duración, llevando horas, días, semanas y hasta meses para ser completadas. Control de
transacción es un concepto crítico que todos los desarrolladores deben entender.
5. Forzar integridad referencial
La integridad referencial (IR) es la garantía de que una referencia de una entidad a otra
entidad es válida. Por ejemplo, si un cliente hace referencia a una dirección, debe existir
esta dirección. Si la dirección es borrada, entonces todas las referencias a él también
deben ser removidas, de lo contrario el sistema no debe permitir la operación de
exclusión. Contrariando la creencia popular, IR no es sólo una cuestión de base de
datos, sino un aspecto a tratar en el sistema como un todo. Un cliente se implementa
como un objeto en una aplicación Java y como uno o más registros en la base de datos -
direcciones también se implementan como objetos y como líneas. Para eliminar una
dirección, debemos quitar el objeto de la dirección de la memoria,idEndereco , la
dirección de clave principal de la base de datos), una dirección (s) línea (s) en la base de
datos y cualquier referencia a ella (a través de las claves externas) en la base de
datos. Para complicar aún más, si tenemos otras aplicaciones accediendo a la base de
datos, entonces es posible que ellas tengan representaciones de la dirección en
memoria. Un escenario aún peor sería si tuviéramos la dirección almacenada en varias
ubicaciones (por ejemplo, bases de datos diferentes), debemos tenerlo en cuenta. Todos
los desarrolladores deben entender las estrategias básicas para implementar integridad
referencial.
La Tabla 1 describe las características técnicas comunes en los RDBMS importante
disponible en el mercado, las principales formas de desarrolladores de ellos y los
negativos asociados con su uso usan.
características Uso principal Puntos negativos
cursores de bases Acceder a un gran Los
de datos - conjunto de desarrolladores
Un cursor de base resultados en deben entender
de datos es un porciones menores que los datos
objeto utilizado permitiendo a la visualizados
para desplazarse
aplicación mostrar pueden cambiar
por los resultados
resultados iniciales entre las veces
de una consulta
SQL, lo que antes, mejorando que los registros
permitirá avanzar el tiempo de de datos se
hacia adelante o respuesta. accede a través
hacia atrás en el El rendimiento se del cursor: los
conjunto de mejora cuando una registros
resultados porción de un previamente
mediante el conjunto de devueltos pueden
acceso a uno o resultados se haber sido
varios registros a requiere porque excluidos,
la vez. menos datos se incluidos o incluso
transmiten a través modificados entre
de la red. ellos.
No todos
los cursoresson
iguales. Algunos
sólo permiten
mover hacia
adelante.
Los cursores son los
recursos que
consumen una
gran cantidad de
memoria en un
RDBMS.
Java - La mayoría Desarrollo La versión
de los SGBDR independiente de diferente de la
comerciales plataforma en la máquina virtual
soportan la base de datos. entre el servidor
máquina virtual Desarrollo de de aplicaciones y
de Java en la base sistemas con gran la base de datos
de datos. aumenta la
carga de datos que
resulta en un bajo complejidad del
valor de retorno. desarrollo.
Encapsulación del Comportamiento
acceso a la base de implementado en
datos para apoyar la base de datos
el control de puede convertirse
acceso seguro a la fácilmente en un
información. cuello de botella
Implementación de para la aplicación.
comportamiento
compartido
requerido por
muchas
aplicaciones.
Desencadena - Garantizar la Los
Un desencadenant integridad desencadenantespue
ees un referencial en la den ser difíciles
procedimiento base de de mantener y
que se lleva a datos. Estos tipos aumentar la
cabo antes o de factores dependencia de
después de una desencadenantespue los fabricantes de
acción (por
den ser generados bases de datos.
ejemplo, insertar,
automáticamente Los disparadores se
actualizar , o por la herramienta implementan
borrar), y se de modelado de normalmente en
ejecuta en una datos o la un lenguaje
fila de una tabla administración de propietario, lo
de base de datos. bases de datos. que requiere un
Normalmente una equipo de
característica más habilidad extra.
simple para Cómo disparadores
implementar se invocan de
restricciones de forma
integridad automática, que
referencial. puede ser muy
Realiza auditoría a peligroso (por
través de archivos ejemplo,
de registro de los eliminaciones en
cambios manuales. cascada
"incontrolada"
resultante de
un gatillo de
exclusión).
El
comportamiento
implementado en
la base de datos
puede fácilmente
convertirse en un
cuello de botella
si la base de datos
no está bien
escalado.
Tabla 1. Características técnicas comunes de RDBMS.
Acoplamiento: su mayor enemigo
Acoplamiento es una medida del nivel de dependencia entre dos elementos - cuanto más
acoplado son dos elementos, mayor es la probabilidad de que un cambio en uno de ellos
requerirá un cambio en el otro. Acoplamiento es la "raíz de todo mal" cuando se habla
del desarrollo de software, y cuanto más cosas su base de datos está acoplado más difícil
es mantenerlo y evolucionarlo. Los esquemas de base de datos relacional se pueden
acoplar a:
El código fuente de su aplicación:
Cuando el esquema de base de datos cambia el código fuente de la aplicación que
tiene acceso a la parte modificada en el esquema, también se debe cambiar. La Figura
2 describe la escena del mejor de los casos - cuando el esquema de base de datos está
acoplada sólo al esquema de base de datos. Estos existen y se encuentran por lo
general en aplicaciones escenarios autónomo , aunque son poco frecuentes en la
práctica.