Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una base de datos es un conjunto de información organizada de manera que pueda ser
utilizada eficientemente. Un directorio telefónico, un diccionario, un calendario o un
libro de recetas son ejemplos de bases de datos.
Cada registro contiene campos. Un campo se utiliza para almacenar una información
particular. Por ejemplo, en el directorio telefónico un campo almacena el nombre, otro
campo almacena la dirección y otro campo almacena el número telefónico de la
persona. Cada registro contiene cada uno de estos campos y cada registro puede tener
información en esos campos.
El conjunto de registros que utilizan los mismos campos conforma una tabla. Una base
de datos puede contener muchas tablas. La siguiente imagen muestra cómo se
relacionan estos conceptos.
4D puede reorganizar los registros y realizar cálculos con la información para hacerla
mucho más útil. Por ejemplo, 4D puede calcular los valores totales en un campo y
presentar el total en un informe. Puede calcular el total de ventas por persona y
presentar una gráfica que compare los resultados de las ventas.
Tablas y campos
4D permite crear desde 1 hasta 32 767 tablas por base de datos. Esto quiere decir que
puede crear una estructura que se adapte exactamente a sus necesidades.
Algunas bases de datos tienen una tabla única. Puede utilizar una tabla única para
categorías como empleados, empresas, inventario, etc. Puede definir hasta 32 767
campos por tabla.
En el ejemplo anterior, el registro de cada uno de los empleados almacena el mismo tipo
de datos. El tamaño de la base de datos crece de acuerdo al número de registros de
empleados almacenados.
Estructuras multitablas
Una base de datos que utiliza más de una tabla puede almacenar muchos más datos y
acceder a la información de forma más eficiente. Una buena regla para tener en cuenta
es que los diferentes tipos de información deben almacenarse en diferentes tablas.
Una base de datos que guarda información sobre empleados y empresas es un buen
ejemplo. Los registros de los empleados y las empresas se guardan en tablas diferentes.
Si la dirección de una empresa cambia, sólo debe modificar el registro de esta empresa.
No tiene que escribir la dirección nueva para todas las personas que trabajen en esa
empresa.
Con una sola tabla, tendría que introducir la dirección en cada registro; con dos tablas,
sólo tiene que introducir la dirección una vez. Cuando se introduce el nombre de una
empresa en el registro de un empleado, 4D puede buscar el registro que corresponda a
esta empresa y mostrar automáticamente la dirección correcta.
La siguiente imagen representa la estructura de una base de datos con dos tablas
relacionadas. La flecha entre el campo [EMPLEADOS]Empresa y el campo
[EMPRESAS]Nombre representa esta relación:
Los datos de cada empleado se almacenan en la tabla [EMPLEADOs]. Los datos sobre
las empresas se almacena en la tabla [EMPRESAS].
4D es una base de datos relacional porque puede utilizar múltiples tablas y relacionarlas
de diferentes maneras. Por ejemplo, puede crear un informe para la tabla
[EMPLEADOS] que busque en la tabla [EMPRESAS] y muestre e imprima
automáticamente la información de la empresa de cada persona. Las relaciones entre las
tablas permiten que la información de ambas tablas esté disponible en un informe.
También puede introducir datos directamente en las tablas relacionadas. Por ejemplo,
una base de facturación puede escribir información en la tabla [Detalle] desde la
ventana Facturación. También puede escribir datos en una tabla relacionada utilizando
el lenguaje 4D.
Igualmente podría necesitar una estructura donde las tablas no estén relacionadas
directamente. Por ejemplo, puede tener una base de datos para almacenar diferentes
tipos de información, como una lista de contactos y una tabla de gastos.
4D permite crear hasta 32 767 tablas en cada base. Una tabla puede tener hasta 32 767
campos. Utilizando varias tablas, todo tipo de base de datos es posible.
Relacionar tablas
Generalmente las tablas tienen en común algunos datos. Por ejemplo, imagine que crea
una base para almacenar información sobre los empleados y las empresas que los
emplean.
Campos relacionados
Gracias a los campos relacionados, los campos que conectan dos tablas en una relación,
usted puede mostrar la información de las tablas relacionadas. El objetivo principal de
las relaciones entre los campos es indicar a 4D cuáles son los registros actuales de una
tabla en función al registro actual de la otra tabla. Las tablas relacionadas usan los dos
campos relacionados para identificar los registros correspondientes.
En el ejemplo anterior, el campo Empresa de la tabla [EMPLEADOS] y el campo
Nombre de la tabla [EMPRESAS] relacionan las dos tablas. El campo Nombre en la
tabla [EMPRESAS] es el campo llave primaria de la tabla [EMPRESAS]. Este campo
identifica de manera única cada registro de empresa. Un campo llave primaria debe
tener los atributos Indexado y Único. Si el campo llave primaria no tiene el atributo
Indexado, 4D lo asigna automáticamente. El campo Empresa de la tabla
[EMPLEADOS] es un campo llave foránea.
Cada valor del campo llave foránea corresponde a un sólo valor del campo llave
primaria en la tabla relacionada.
A partir de 4D v14, los campos llaves primaria deben definirse explícitamente en cada
tabla de la base.
Los valores del campo llave primaria generalmente se afectan automáticamente por la
base, utilizando un número de secuencia generado por 4D o por la afectación de un
número calculado por un método. Tal procedimiento garantiza la unicidad del campo
llave. Por ejemplo, si el campo llave primaria de la tabla [EMPRESAS] es un número
de secuencia y no el nombre de la empresa, es posible que los usuarios introduzcan
varias compañías con el mismo nombre pero con diferente dirección. De la misma
forma, si una empresa cambia de nombre, el usuario puede hacer el cambio en la base
de datos sin afectar la relación entre las dos tablas.
Si el usuario está autorizado a introducir el valor del campo llave primaria, debe
seleccionar Único y No modificable como (Almacenado en registro, archivo de datos o
fuera del archivo de datos) para asegurar la unicidad de la entrada inicial y evitar que
posteriormente los usuarios creen un registro redundante. Si decide no utilizar el
atributo No modificable, tendrá que buscar otra forma de evitar que los usuarios creen
registros “huérfanos” en cualquiera de las tablas relacionadas al modificar los valores
del campo llave primaria.
Cuando se establecen las relaciones, usted puede leer y escribir valores en una tabla
mientras trabaja en la tabla relacionada. Por ejemplo, cuando escribe el nombre de una
empresa en un registro de un empleado, 4D busca esta empresa en la tabla
[EMPRESAS] y muestra la dirección y el número telefónico en el registro del
empleado. Cuando usted visualiza el registro de una empresa, 4D busca en la tabla
[EMPLEADOS] todos los empleados que trabajan en esa empresa y muestra sus
registros en el registro de la empresa.
1.Archivos permanentes
Contienen información que varía poco a lo largo del tiempo.
Pueden ser de tres clases:
a. Archivos constantes:
Su información permanece prácticamente inamovible,
utilizándose principalmente como archivos de consulta.
b. Archivos de situación:
También denominados archivos maestros, contienen la
información que refleja el estado o situación de una empresa,
entidad o algún aspecto de ella en un determinado momento.
c. Archivos históricos:
Se obtienen de los anteriores cuando se dejan fuera de uso
para futuros estudios estadísticos o consultas.
3.Archivos de Movimientos
En ellos se almacena la información que se utilizará para
actualizar los archivos maestros. Sus registros, denominados
movimientos o transacciones, son de tres clases: altas, bajas y
modificaciones.
Una vez realizado el proceso de actualización de un archivo
maestro por medio de un archivo de movimientos, éste pierde
su validez y podemos deshacernos de él.
A veces se utiliza DB, de database en inglés, para referirse a las bases de datos.
DBMS – Objetivos
Independencia de datos
Economía de datos
Integridad de datos
Seguridad de datps
Correlacion de datos (1-1, 1-m, m-n)
Todos los conceptos referentes a las bases de datos están hoy muy claros y definidos
formalmente, al contrario que los de las bases de conocimiento. La tecnología de gestión de
bases de datos se halla en una etapa muy madura. Las bases de datos han evolucionado
durante los pasados 30 años desde sistemas de archivos rudimentarios hasta sistemas gestores
de complejas estructuras de datos que ofrecen un gran número de posibilidades. Los
principales objetivos de un DBMS son los siguientes:
Integridad de los datos: se refiere a las medidas de seguridad que impiden que se
introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de
hardware, actualización incompleta debido a causas externas), como de operación
(introducción de datos incoherentes).
Una base de datos típica conlleva la existencia de tres tipos de usuario con relación a su
diseño, desarrollo y uso:
Esta relación devuelve registros relacionados cuando el valor del campo ID de cliente
de la tabla Pedidos es el mismo que el valor del campo ID de cliente de la tabla
Clientes.
Como las relaciones son bidireccionales, también hay relaciones de muchos a uno.
Por lo general, los sistemas de bases de datos relacionales no permiten implementar una
relación directa de muchos a muchos entre dos tablas. Tenga en cuenta el ejemplo de
seguimiento de facturas. Si había muchas facturas con el mismo número de factura y
uno de sus clientes preguntó acerca de ese número de factura, no sabría a qué número se
refería. Este es el motivo por el que se debe asignar un valor exclusivo a cada factura.
Para evitar este problema, puede dividir la relación de muchos a muchos en dos
relaciones de uno a muchos mediante el uso de una tercera tabla denominada tabla de
unión. Cada registro de una tabla de unión incluye un campo de coincidencia que
contiene el valor de las claves principales de las dos tablas que se unen. (En la tabla de
unión, estos campos de coincidencia son claves externas). Estos campos de clave
externa se rellenan con datos, ya que los registros de la tabla de unión se crean desde
cualquiera de las tablas que se unen.
Un ejemplo típico de una relación de muchos a muchos es aquella entre los estudiantes
y las clases. Un estudiante puede matricularse en muchas clases y una clase puede
incluir muchos estudiantes.
En el siguiente ejemplo, se incluye una tabla Alumnos, que contiene un registro para
cada estudiante, y una tabla Clases, que contiene un registro para cada clase. Una tabla
de unión, Matrículas, crea una relación de uno a muchos, una entre cada una de las dos
tablas.
La clave principal ID de estudiante identifica de forma exclusiva a cada estudiante de la
tabla Alumnos. La clave principal ID de clase identifica de forma exclusiva cada clase
de la tabla Clases. La tabla Matrículas contiene las claves externas ID de estudiante e ID
de clase.
Por lo general, las tablas de unión contienen campos que no tienen sentido en otras
tablas. Puede añadir campos a la tabla Matrículas, como un campo Fecha para mantener
un registro de cuándo alguien inició una clase y un campo Coste para rastrear cuánto
pagó un estudiante por realizar una clase.
3. Cree una relación entre los dos campos ID de estudiante de las tablas. A
continuación, cree una relación entre los dos campos ID de clase de las tablas.
Mediante este diseño, si un estudiante se matricula en tres clases, ese estudiante tendrá
un registro en la tabla Alumnos y tres registros en la tabla Matrículas: un registro para
cada clase en la que se ha matriculado el estudiante.
Notas
•Las tablas de unión pueden acceder a los campos y los datos entre tablas sin necesidad
de crear una relación diferente. Por ejemplo, para visualizar una lista de todas las clases
en las que se ha matriculado un estudiante, cree un portal en una presentación en
función de la tabla Alumnos. Diseñe el portal para que muestre registros relacionados de
la tabla Clases. A continuación, añada los campos adecuados de Clases al portal. A
medida que se desplaza por los registros de la presentación Alumnos, el portal muestra
todas las clases en las que se ha matriculado un estudiante específico.
Arquitectura de dase de datos
La mayoría de los SGBD no distinguen del todo los tres niveles. Algunos incluyen detalles del
nivel físico en el esquema conceptual. En casi todos los SGBD que se manejan vistas de usuario,
los esquemas externos se especifican con el mismo modelo de datos que describe la
información a nivel conceptual, aunque en algunos se pueden utilizar diferentes modelos de
datos en los niveles conceptual y externo.
MODELO DATOS
ENTIDAD-RELACION (ATRIBUTO, RELACION, ENTIDAD, LIGA )
Las entidades representan cosas u objetos (ya sean reales o abstractos), que se
diferencian claramente entre sí.
Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un taller
mecánico, donde se podría crear las siguientes entidades:
Los atributos definen o identifican las características de entidad (es el contenido de esta
entidad). Cada entidad contiene distintos atributos, que dan información sobre esta
entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).
Unos posibles atributos serían los siguientes: número de chasis, matrícula, DNI del
propietario, marca, modelo y muchos otros que complementen la información de cada
coche.
En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla
dentro de una BBDD podría ser el siguiente.
Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese
necesario) y seguirían la misma estructura de columnas, tras implementarlo en una
BBDD.
Relación
Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir,
nos permite exigir que varias entidades compartan ciertos atributos de forma
indispensable.
Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un cargo
(según la entidad "Cargo del empleado"). Es decir, un atributo de la entidad
"Empleados" especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya
existe en la entidad "Cargo del empleado".
Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades
mediante líneas.
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementación en
una BBDD), por lo que voy a poner el ejemplo de como se representaría (resaltada la
relación, que posteriormente veremos como se haría).
Empleados
Relaciones de cardinalidad
Podemos encontrar distintos tipos de relaciones según como participen en ellas las
entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un
mismo cargo lo pueden compartir varios empleados.
Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si
tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de
determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis,
ni más en ningún caso).
Uno a varios o varios a uno: determina que un registro de una entidad puede estar
relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como
ha sido en el caso anterior del trabajador del taller.
Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o
varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por
varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos.
Claves
Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los
demás registros (no permitiendo que el atributo específico se repita en la entidad) o le
aplica un vínculo (exactamente como comentábamos en las relaciones). Estos son los
distintos tipos:
Superclave: aplica una clave o restricción a varios atributos de la entidad, para así
asegurarse que en su conjunto no se repitan varias veces y así no poder entrar en dudas
al querer identificar un registro.
Clave externa o clave foránea: este campo tiene que estar estrictamente relacionado
con la clave primaria de otra entidad, para así exigir que exista previamente ese clave.
Anteriormente hemos hablado de ello cuando comentábamos que un empleado
indispensablemente tiene que tener un cargo (que lo hemos representado
numéricamente), por lo cual si intentásemos darle un cargo inexistente el gestor de
bases de datos nos devolvería un error.
Resumen
Esto ha sido solo un repaso por encima de lo que es el modelo entidad-relación, sin
entrar en grandes detalles.
También, bajo mi punto de vista, creo que es una buena forma de diseñar correctamente
las bases de datos, aunque algunas veces resulta más rápido implementarlo directamente
en nuestro gestor de BBDD sin la necesidad de crear un gran diagrama, sino usando
notas más simples.
Personas
Máquinas
Programas
Datos
Los Datos.
2 Nivel Conceptual.
3 Nivel Visión.
33 Pepe 25
34 Juan 25
Num_sección Nombre
25 Textil
26 Pintura
2 Modelo de Red.
3 Modelo Jerárquico.
Entidades
Dominios
Tablas
Relación
Usuarios casuales.
Usuarios ingenuos.
- Modelo Semántico.
Tienen como objetivo describir de un modo más preciso la
información contenida en la base de datos.
- Modelo Deductivo.
Son capaces de deducir hechos a partir de las relaciones base
y una serie de axiomas deductivas o reglas de inferencia.
En función de la estructura utilizada para construir una base de datos, existen diversos
modelos de bases de datos. El modelo de la base de datos define un paradigma de
almacenamiento, estableciendo cómo se estructuran los datos y las relaciones entre
estos. Las distintas operaciones sobre la base de datos (eliminación o sustitución de
datos, lectura de datos, etc.) vienen condicionadas por esta estructura, y existen notables
diferencias entre los principales modelos, cada uno de ellos con sus ventajas e
inconvenientes particulares. Algunos de los más habituales son los siguientes:
Bases de datos jerárquicas. Los datos se recogen mediante una estructura
basada en nodos interconectados. Cada nodo puede tener un único padre y cero,
uno o varios hijos. De este modo, se crea una estructura en forma de árbol
invertido en el que todos sus nodos dependen en última instancia de uno
denominado raíz. Aunque potente, el modelo jerárquico presenta algunas
deficiencias, principalmente la escasa independencia de sus registros (el acceso a
un registro —un nodo— implica que se ha de pasar por sus padres, restando
flexibilidad a la navegación por la base de datos). Otra grave deficiencia de este
modelo es la mala gestión de la redundancia de datos, ya que si un registro
guarda relación con dos o más, debe almacenarse varias veces, ya que no se
permite que el nodo correspondiente tenga varios padres. Esto tiene
consecuencias no solo en el mayor volumen de datos que se almacena, sino
también en la integridad y coherencia de los datos. Si se modifica una de las
«copias» de ese registro en la base de datos, deben modificarse también las
restantes, ya que, aunque no conectadas en la estructura de la base de datos,
realmente representan una única realidad y debieran ser idénticas entre sí.
Bases de datos en red. Con objeto de solucionar los problemas de redundancia
de las bases de datos jerárquicas, surge el modelo en red. Este modelo permite la
aparición de ciclos en la estructura de la base de datos (es decir, no ha de existir
un único padre para cada nodo), lo cual permite una mayor eficacia en lo que a
la redundancia de datos se refiere. Presenta, no obstante, otros problemas, siendo
el más importante de ellos su gran complejidad, lo que hace difícil la
administración de la base de datos.
Bases de datos relacionales. Constituyen el modelo de bases de datos más
utilizado en la actualidad. Solucionan los problemas asociados a las bases de
datos jerárquicas y en red, utilizando para ello un esquema basado en tablas, que
resulta a la vez sencillo de comprender y fácil de utilizar para el análisis y la
consulta de los datos. Las tablas contienen un número dado de registros
(equivalentes a las filas en la tabla), así como campos (columnas), lo que da
lugar a una correcta estructuración y un acceso eficiente.
Bases de datos orientadas a objetos. Se trata de uno de los modelos más
actuales, derivado directamente de los paradigmas de la programación orientada
a objetos. El modelo extiende las capacidades de las bases de datos relacionales,
de tal modo que estas pueden contener objetos, permitiendo así una integración
más fácil con la propia arquitectura de los programas empleados para el manejo
de la base de datos, en caso de que estos hayan sido desarrollados mediante
programación orientada a objetos. Su popularidad crece de forma notable en
ciertas áreas en las cuales resultan más ventajosas que el modelo relacional,
siendo los SIG una de ellas.
La figura 1