Diseño. Estructura. Operaciones. Lenguaje SQL. Diseño de programas. Importación/exportación de datos.
ÍNDICE
1. INTRODUCCIÓN
2. BASES DE DATOS RELACIONALES: DISEÑO. ESTRUCTURA. OPERACIONES
2.1. Diseño
2.2. Estructura
2.3. Operaciones
3. LENGUAJE SQL
4. DISEÑO DE PROGRAMAS
4.1. Fases del diseño de bases de datos
4.2. Diseño conceptual
4.3. Diseño lógico
4.4. Diseño físico
5. IMPORTACIÓN/EXPORTACIÓN DE DATOS
1. INTRODUCIÓN
La información, sea de la naturaleza que sea, y la posibilidad de obtener el máximo control sobre ella ha sido uno de los principales objetivos del ser humano desde hace ya siglos.
De hecho, el poder de gestionar grandes cantidades de datos se ha constituido, especialmente a través de las última décadas, en uno de los factores más significativos en lo que respecta al nivel de desarrollo del hombre.
Hoy en día es difícil encontrar un solo lugar en el mundo civilizado en el que no exista un completo control sobre todo lo que sea” registrable”, ya sea en horarios de trenes, datos personales de la población, información estadística de cualquier índole o, incluso, datos antes tan difíciles de registrar de forma exhaustiva como son material literario u obras de arte de un museo.
Ya no existe casi nada que pueda escapar del control humano y, como tal, todo nos debemos acostumbrar a cohabitar por los sistemas encargados de realizar este tipo de gestión automática de la información, sin tener por ello que temer en ningún momento a las consecuencias derivadas de dicho control.
Los ordenadores han favorecido en gran medida la consumación de este objetivo, puesto que fueron ideados para encargarse de realizar todas aquellas operaciones que al hombre le suponía un gran esfuerzo y cantidad de tiempo.
Operaciones de carácter repetitivo en las que antes el ser humano debía emplear horas, como puede ser la ordenación de archivos o rellenar sobres con direcciones para remitir correspondencia a multitud de clientes, en nuestros días a un ordenador no le lleva más de unos segundos.
De hecho, conforme mejora la calidad y prestaciones de los equipos informáticos, mayor capacidad de cálculo son capaces de ofrecer éstos, por lo que, incluso la ordenación o búsqueda en ficheros constituidos por millones de fichas ya no representan un obstáculo para cualquier ordenador PC de la gama alta.
2. BASES DE DATOS RELACIONALES: DISEÑO. ESTRUCTURA. OPERACIONES
Este modelo distribuye los datos en tablas bidimensionales, llamadas relaciones, dónde las columnas recogen los diferentes atributos o campos y las filas almacenan las diferentes instancias u ocurrencias (registros). También se establecen varios tipos de dependencias entre las tablas (interrelaciones), y según la naturaleza de éstas, se implementan mediante atributos” Clave Extranjera” o mediante tablas relacionales.
Como reglas básicas de formación se establecen las siguientes:
– No se permiten ocurrencias duplicadas en una tabla.
– Hay un solo valor para un atributo dado de una determinada ocurrencia.
– Todos los atributos que no forman parte de la clave dependen sólo de ésta.
– Todas los valores en un atributo que sea clave extranjera deberán aparecen en la tabla donde dicho atributo es clave principal.
2.1. DISEÑO
Consiste en definir la estructura de la BD, que será un conjunto de esquemas de relación con sus atributos, dominios, claves primarias y secundarias, etc. Este diseño, se ha de descomponer en etapas, que son tres: diseño conceptual, diseño lógico y diseño físico.
1. Diseño conceptual
Obtendremos aquí la estructura de la futura BD, independientemente de la tecnología a emplear posteriormente para llevarla a cabo. Para modelizar esa estructura, se usa el modelo c Fi (Entity-Relatioship), donde las entidades serían más o menos las tablas a definir, los atributos fax columnas de la tabla (definiremos también los atributos que actúan como claves), y las interrelaciones (relationship) las relaciones entre tablas (asociación entre entidades).
Una interrelación puede asociar una o más entidades, pudiendo dar lugar, en este último caso, a la creación de nuevas entidades.
2. Diseño lógico: la transformación al modelo relacional
Las entidades, darán lugar a relaciones. Las interrelaciones, a claves secundarias (las 1:1 y 1:N), o bien a nuevas relaciones (las M:N y todas las n-varias). Los atributos y clave primaria de la entidad, lo serán ahora de la relación.
Las relaciones
Una relación o tabla se compone de:
La relación anterior se denota como empleados (DNI, Nombre, Apellidos, Despacho) valiendo cualquier otro orden.
El dominio es el conjunto de valores atómicos de un atributo (edades aceptadas, DNI posibles, etc.).
El grado es el número de atributos o columnas que componen la relación.
Las filas no están ordenadas, pero no pueden estar repetidas.
La clave de una relación: claves candidatas aquellos subconjuntos de atributos sin tuplas repetidas y con los mínimos atributos posibles. Clave primaria será la clave candidata que elijamos para identificar las filas de la tabla (tuplas de la relación. En el ejemplo, el DNI). Las otras candidatas serán las claves alternativas. Claves secundarias o foráneas serán aquellas que referencian a una primaria (la columna Despacho del ejemplo, sería secundaria de fa primaria n° despacho de la tabla despachos (n° despacho, calle, población).
Reglas de integridad
Consisten en evitar que el modelo represente plausiblemente a la realidad, evitando incoherencias (sueldos <0, edades fuera del dominio, etc.). También recogen la unicidad de la clave primaria, su entidad (que no tenga valores nulos), la integridad del dominio
(que no haya valores fuera del dominio) y la integridad referencial (todos los valores que tome la clave secundaria deben existir en la primaria, o ser nulos).
Para mantener esta integridad referencial, las políticas a seguir son: la restricción (impedir modificar o borrar una tupla con clave primaria relacionada con una secundaria), la actualización en cascada (permite modificar la tupla, actualizando las relacionadas) y la anulación (anula en cascada las relacionadas). Podríamos por ejemplo, aplicar la restricción para el borrado, y la actualización en cascada para la modificación.
3. Diseño físico
No nos es necesario pues cada SGBDR se encarga de implementarlo, de forma transparente al usuario.
2.2. ESTRUCTURA
Base de datos es un archivo que contiene datos (estructurados e interrelacionados) y los objetos que definen y manejan esos datos: tablas, consultas, formularios, informes, macros y módulos. Además, se pueden definir estrategias de seguridad y de integridad. Pueden coexistir en un disco varias bases de datos, en varios ficheros, absolutamente independientes entre sí (aunque es posible referenciar desde una base de datos objetos presentes en otras bases de datos, es decir, en otros ficheros).
Los objetos que componen una base de datos son:
• Tablas: son los almacenes de datos. Se trata de listas de registros. El diseño de tablas consiste en la definición de los campos necesarios para almacenar correctamente la información de la base de datos.
• Consultas: operaciones que pueden realizase sobre los datos de las tablas: limitaciones de acceso, selección de datos, inserción, modificación y borrado, cálculos…
• Formularios: pantallas que se presentan a los usuarios de una base de datos para que tengan un acceso amigable a los datos y operaciones.
• Informes: formatos de presentación de los datos para generar copias impresas de la información registrada en la base de datos.
• Macros y módulos: segmentos de código en lenguaje de alto nivel (Access Basic, Visual Basic, lenguaje de macros,…) que permiten realizar operaciones complejas con los datos y objetos de la base de datos.
Los objetos deben estar identificados mediante un nombre. Referencias posteriores a esos objetos se harán a través de su nombre identificativo.
2.3. OPERACIONES
• Introducir datos.
• Añadir registros.
• Modificar registros.
• Modificar el ancho de una columna.
• Borrar un registro.
• Buscar datos en la tabla.
• Ordenar los datos de la tabla.
• Hacer una copia de una tabla.
3. LENGUAJE SQL
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del método OpenRecordSet y como la propiedad RecordSource del control de datos. También se puede utilizar con el método Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a través para manipular bases de datos remotas cliente – servidor.
Componentes del SQL
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Comandos
Existen dos tipos de comandos SQL:
• Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
• Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
Comandos DLL
CREATE: Utilizado para crear nuevas tablas, campos e índices.
DROP: Empleado para eliminar tablas e índices.
ALTER: Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
Comandos DML
SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.
INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE: Utilizado para modificar los valores de los campos y registros especificados
DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los
registros
WHERE: Utilizada para especificar las condiciones que deben reunir y que se van a seleccionar.
GROUP BY: Utilizada para separar los registros seleccionados en grupos especificos
HAVING: Utilizada para expresar la condición que debe satisfacer cada
grupo.
ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico.
Operadores Lógicos
AND: Es el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
OR: Es el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
NOT: Negación lógica. Devuelve el valor contrario de la expresión.
Operadores de Comparación
Menor que Mayor que Distinto de Menor o Igual que Mayor o Igual que Igual que
BETWEEN: Utilizado para especificar un intervalo de valores.
LIKE: Utilizado en la comparación de un modelo.
In: Utilizado para especificar registros de una base de datos.
Funciones de Agregado
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.
AVG: Utilizada para calcular e[ promedio de los valores de un campo de
terminado.
COUNT: Utilizada para devolver el número de registros de la selección.
determinado.
SUM: Utilizada para devolver la suma de todos los valores de un campo
MAX: Utilizada para devolver el valor más alto de un campo especificado.
MIN: Utilizada para devolver el valor más bajo de un campo especificado.
Consultas de Acción
Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como añadir y borrar y modificar registros.
• DELETE :Crea una consulta de eliminación que elimina los registros de una o más de las tablas listadas en la cláusula FROM que satisfagan la cláusula WHERE. Esta consulta elimina los registros completos, no es posible eliminar el contenido de algún campo en concreto.
DELETE es especialmente útil cuando se desea eliminar varios registros. En una instrucción DELETE con múltiples tablas, debe incluir el nombre de tabla (Tabla.*). Si especifica más de una tabla desde la que eliminar registros, todas deben ser tablas de muchos a uno. Si desea eliminar todos los registros de una tabla, eliminar la propia tabla es más eficiente que ejecutar una consulta de borrado.
Se puede utilizar DELETE para eliminar registros de una única tabla o desde varios lados de una relación uno a muchos. Las operaciones de eliminación en cascada en una consulta únicamente eliminan desde varios lados de una relación.
Una vez que se han eliminado los registros utilizando una consulta de borrado, no puede deshacer la operación. Si desea saber qué registros se eliminarán, primero examine los resultados de una consulta de selección que utilice el mismo criterio y después ejecute la consulta de borrado. Mantenga copias de seguridad de sus datos en todo momento. Si elimina los registros equivocados podrá recuperarlos desde las copias de seguridad.
• INSERT INTO
Agrega un registro en una tabla. Se la conoce como una consulta de datos añadidos. Esta consulta puede ser de dos tipo: Insertar un único registro ó Insertar en una tabla los registros contenidos en otra tabla.
•UPDATE
Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico.
UPDATE es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos se encuentran en múltiples tablas. Puede cambiar varios campos a la vez.
Tipos de Datos
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios.
Tipos de datos primarios:
Tipo de Datos |
Longitud |
Descripción |
BINARY |
1 byte |
Para consultas sobre tabla adjunta de |
productos de bases de datos que definen |
||
un tipo de datos Binario |
||
BIT |
1 byte |
Valores Si/No o True/False |
BYTE |
1 byte |
Un valor entero entre 0 y 255 |
COUNTER |
4 bytes |
Un número incrementado automática |
mente (de tipo Long) |
||
CURRENCY |
8 bytes |
Un entero escalable entre |
9220337_203m685.477,5808 y |
||
922.337.203.685.477,5807 |
||
DATETIME |
8 bytes |
Un valor de fecha u hora entre los años |
100 y 9999 |
||
SINGLE |
4 bytes |
Un valor en punto flotante de precisión |
simple con un rango de -3.402823*1038 a |
||
-1.401298*10-45 para valores negati |
||
vos, 1.401298*10-45 a 3.402823*1038 |
||
para valores positivos, y 0 |
DOUBLE |
8 bytes |
Un valor en punto flotante de doble precisión con |
un rango de -1.79769313486232*10308 a |
||
-4.94065645841247*10-324 para valores |
||
negativos, 4.94065645841247*10-324 a |
||
1.79769313486232*10308 para valores |
||
positivos, y 0 |
||
SHORT |
2 bytes |
Un entero corto entre -32,768 y 32,767 |
LONG |
4 bytes |
Un entero largo entre -2,147,483,648 y |
2,147,483,647 |
LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes
LONGBINARY según se necesite De cero 1 gigabyte. Utilizado para objetos
OLE TEXT 1 byte por carácter De cero a 255 caracteres
4. DISEÑO DE PROGRAMAS
4.1. FASES DEL DISEÑO DE BASES DE DATOS
– Estudio de la Viabilidad. Determina la rentabilidad de las diferentes alternativas y las prioridades de los elementos del sistema.
– Recogida y Análisis de Requerimientos. Permite comprender la misión del sistema, mediante la interacción con los usuarios, dando lugar a los Requerimientos del Sistema.
– Diseño. Se especifica la estructura del sistema, diferenciando el Diseño de la Base de Datos y el Diseño de las Aplicaciones.
– Creación de Prototipos. Mediante la utilización de herramientas, se define una Realización Simplificada del Sistema. Permite verificar si el diseño se ha realizado correctamente, así como la opinión del usuario sobre éste.
– Implantación. Se implementa la versión final del sistema, analizando la mejor alternativa que asegure un rendimiento óptimo.
– Validación y Prueba. Garantiza que las fases del desarrollo se han realizado correctamente, verificando que la aplicación cumple los requerimientos.
– Operación. Se inicia con la carga inicial de los datos y acaba cuando e1 sistema se convierte en obsoleto.
4.2. DISEÑO CONCEPTUAL
• Objetivos
– Describir el Contenido de la Información de la Base de Datos.
– Esta descripción debe ser independiente del modo en el que se almacene la información.
• Características
– A partir de los Requerimientos obtiene el denominado Esquema Conceptual (EC).
– El EC es una descripción de alto nivel de la estructura de la Base de Datos.
– El Modelo Conceptual (MC) es un lenguaje utilizado en la descripción de los EC.
4.3. DISEÑO LÓGICO
• Objetivos
– Describir el Contenido de la Información de la Base de Datos.
– Esta descripción puede ser procesada por el software del tipo de SGBD a utilizar.
• Características
– A partir del Esquema Conceptual obtiene el denominado Esquema Lógico (EL). – El Modelo Lógico (ML) es un lenguaje utilizado para especificar Esquemas Lógicos.
4.4. DISEÑO FÍSICO
• Objetivos
– Describir el Contenido de la Información de la Base de Datos.
– Esta descripción sólo puede ser procesada por un SGBD específico.
• Características
– A partir del Esquema Lógico obtiene el denominado Esquema Físico (EF).
– El EF describe las estructuras a utilizar para almacenar los datos y los métodos usados para acceder a ellos. ¡
– Las decisiones tomadas es esta fase, que permiten mejorar el rendimiento de la BD, puede modificar el esquema lógico.
– Es decir, existe una retroalimentación entre el diseño lógico y el diseño físico.
• Análisis Funcional
– Genera el Esquema Funcional mediante el llamado Modelo de Funciones.
– Descripción de alto nivel de las tareas a realizar, así como del flujo de información asociado.
5. IMPORTACIÓN/EXPORTACIÓN DE DATOS
Se entiende por Inter.-operación con otras aplicaciones a la posibilidad que tiene una aplicación de compartir sus datos o documentos con otros programas del mismo tipo o con otras aplicaciones.
Cada uno de los programas está creado para fines específicos: generar documentos, realizar operaciones con números, almacenar datos, dar formato a texto e imágenes, etc. Cada uno de ellos graba sus ficheros en un formato distinto, pero todos pueden trabajar con información generada por otros programas.
Cada uno de los programas posee uno o varios métodos para realizar la importación o exportación de información.
Para que un programa pueda operar con la información generada por otro, necesita convertidores. Un convertidor es un programa incluido dentro del procesador de texto, la hoja de cálculo o el programa correspondiente, que cambia el formato del fichero generado por un programa determinado al formato del programa que lo va a utilizar.
Esta posibilidad de trabajar con datos generados por otros programas se conoce como integración de programas y se basa en la importación y exportación de datos o intercambio de información.
Cuando hablamos de compartir datos debemos diferenciarlos en función del origen de los mismos. Si los datos a compartir son generados por nuestra Aplicación hablaremos de “Exportar” datos. Si los datos a compartir han sido generados por otra Aplicación hablaremos de “importar” datos.
Tanto con la “importación” como con la “exportación” de datos siempre irá asociado un proceso de conversión de formatos. Esto es debido a que cada fabricante ha diseñado un modo distinto de almacenar los datos, y la información asociada, en los archivos.
Si las aplicaciones están agrupadas en un Paquete integrado, la forma de intercambiar los datos es más directa y fácil, sin necesidad de realizar conversiones ya que cada programa del paquete integrado reconoce los formatos de los demás programas.
En la actualidad, si las aplicaciones trabajan bajo un mismo entorno gráfico (por ejemplo Windows) pueden realizar el intercambio de datos de una forma especial y fácil, bien de una forma dinámica (ambas aplicaciones se están ejecutando a la vez) o bien mediante la inserción de objetos (documentos) creados por cualquier aplicación.
Los métodos para importar y exportar datos entre Bases de Datos son similares a los descritos para Hojas de Cálculo. Existen formatos de ficheros de base de datos que sin ser estándares son reconocidos por casi todos los Gestores de Bases de Datos (por ejemplo formato DBF de DBase IV de Borland). En este caso se utilizará el método de conversión directa. Cuando esta conversión no es posible se recurrirá a cualquiera de los métodos de conversión a formatos ASCII delimitados.
Cuando el proceso de importar/exportar se realiza entre Gestores de Bases de Datos diferentes no suele ser posible la importación/exportación de los ficheros de índices. Si nos interesa mantener esta información el Gestor de Base de Datos receptor debe realizar un proceso de generación de índices (reindexación) una vez definida la composición de éstos.
RESUMEN
Una base de datos es una colección de datos operacionales utilizados por todas las aplicaciones de una organización, una serie de tablas que contienen información ordenada en alguna estructura que facilita el acceso a esas tablas, ordenarlas y seleccionar filas y de las tablas según criterios específicos. Su utilidad: utilizar un único sistema centralizado de almacenamiento de fa información.
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del método OpenRecordSet y como la propiedad RecordSource del control de datos. También se puede utilizar con el método Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a través para manipular bases de datos remotas cliente-servidor.
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Se entiende por interoperación con otras aplicaciones a la posibilidad que tiene una aplicación de compartir sus datos o documentos con otros programas del mismo tipo o con otras aplicaciones.
Cada uno de los programas está creado para fines específicos: generar documentos, realizar operaciones con números, almacenar datos, dar formato a texto e imágenes, etc. Cada uno de ellos graba sus ficheros en un formato distinto, pero todos pueden trabajar con información generada por otros programas.