63.- Base de Datos Relacionales

63. BASE DE DATOS RELACIONALES Contenido 1. INTRODUCCIÓN ...............................................................

Views 125 Downloads 4 File size 545KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

63. BASE DE DATOS RELACIONALES Contenido 1. INTRODUCCIÓN ........................................................................................................... 2 2. BASES DE DATOS RELACIONALES ........................................................................... 2 Diseño ............................................................................................................................... 3 3. LENGUAJE SQL ............................................................................................................ 4 Características generales de SQL..................................................................................... 4 4. DISEÑO DE PROGRAMAS ........................................................................................... 5 En el diseño conceptual .................................................................................................... 6 El diseño lógico ................................................................................................................. 6 El diseño físico .................................................................................................................. 6 5. IMPORTACIÓN / EXPORTACION DE DATOS ............................................................. 6 6. CONCLUSIONES .......................................................................................................... 7 7. BIBLIOGRAFÍA .............................................................................................................. 7

1

1. INTRODUCCIÓN No cabe duda que la información es la base de nuestra sociedad, recibimos y manejamos volúmenes enormes de información y el ordenador es la herramienta que nos permite almacenar y tratar esa información. Para poder guardar y recuperar esa información necesitamos de un sistema de almacenamiento que sea fiable, fácil de manejar, eficiente, y de aplicaciones capaces de llevar a cabo esa tarea y de obtener resultados a partir de la información almacenada. Este sistema es el denominado Sistema Gestor de Base de Datos. La inmensa mayoría de bases de datos que existen en el mercado hoy en día son bases de datos relacionales. El objetivo de este tema es analizar las bases de datos relacionales, centrándonos tanto en su definición y diseño como en el lenguaje que utiliza y la importación/exportación de datos.

2. BASES DE DATOS RELACIONALES Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto. Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.

Bases de datos relacionales Éste es el modelo utilizado en la actualidad para representar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base 2

de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.

Diseño El diseño de una base de datos consiste en definir la estructura de los datos que debe tener un sistema de información determinado. Para ello se suelen seguir por regla general unas fases en el proceso de diseño, definiendo para ello el modelo conceptual, el lógico y el físico. En el diseño conceptual se hace una descripción de alto nivel de la estructura de la base de datos. El diseño lógico parte del resultado del diseño conceptual y da como resultado una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de SGBD. El diseño físico parte del lógico y da como resultado una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. En el modelo relacional las dos capas de diseño conceptual y lógico, se parecen mucho. Generalmente se implementan mediante diagramas de Entidad/Relación (modelo conceptual) y tablas y relaciones entre éstas (modelo lógico). Este es el modelo utilizado por los sistemas gestores de datos más habituales (SQL Server, Oracle, MySQL...). Nota: Aunque mucha gente no lo sabe, a las bases de datos relaciones se les denomina así porque almacenan los datos en forma de “Relaciones” o listas de datos, es decir, en lo que llamamos habitualmente “Tablas”. Muchas personas se piensan que el nombre viene porque además las tablas se relacionan entre sí utilizando claves externas. No es así, y es un concepto que debemos tener claro. (Tabla = Relación). El modelo relacional de bases de datos se rige por algunas normas sencillas: Todos los datos se representan en forma de tablas (también llamadas “relaciones”, ver nota anterior). Incluso los resultados de consultar otras tablas. La tabla es además la unidad de almacenamiento principal.

3

Las tablas están compuestas por filas (o registros) y columnas (o campos) que almacenan cada uno de los registros (la información sobre una entidad concreta, considerados una unidad). Las filas y las columnas, en principio, carecen de orden a la hora de ser almacenadas. Aunque en la implementación del diseño físico de cada SGBD esto no suele ser así. Por ejemplo, en SQL Server si añadimos una clave de tipo "Clustered" a una tabla haremos que los datos se ordenen físicamente por el campo correspondiente. El orden de las columnas lo determina cada consulta (que se realizan usando SQL). Cada tabla debe poseer una clave primaria, esto es, un identificador único de cada registro compuesto por una o más columnas. Para establecer una relación entre dos tablas es necesario incluir, en forma de columna, en una de ellas la clave primaria de la otra. A esta columna se le llama clave externa. Ambos conceptos de clave son extremadamente importantes en el diseño de bases de datos. Basándose en estos principios se diseñan las diferentes bases de datos relacionales, definiendo un diseño conceptual y un diseño lógico, que luego se implementa en el diseño físico usando para ello el gestor de bases de datos de nuestra elección (por ejemplo SQL Server).

3. LENGUAJE SQL SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. SQL se usa para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando usa SQL, debe emplear la sintaxis correcta (La sintaxis es el conjunto de reglas mediante las cuales se combinan los elementos de un lenguaje correctamente). La sintaxis de SQL se basa en la sintaxis del inglés y usa muchos de los mismos elementos que la sintaxis de Visual Basic. Por ejemplo, una simple instrucción SQL que recupera una lista de los apellidos de contactos cuyo nombre es María podría ser similar a esto: SELECT Apellidos FROM Contactos WHERE Nombre = 'María'; Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.

Características generales de SQL

4

SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite así gran variedad de operaciones. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros (y no a registros individuales) permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características: Lenguaje de definición de datos: El Lenguaje de Definición de Datos (LDD) de SQL proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación. Lenguaje interactivo de manipulación de datos: El Lenguaje de Manipulación de datos (LMD) de SQL incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas. Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos. Definición de vistas: El LDD incluye comandos para definir las vistas. Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción. SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran. Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

4. DISEÑO DE PROGRAMAS Según Thomas H. Grayson, un buen diseño de base de datos debe poseer siempre las siguientes cualidades, •

Reflejar la estructura del problema en el mundo real.



Ser capaz de representar todos los datos esperados, incluso con el paso del tiempo.



Evitar el almacenamiento de información redundante.



Proporcionar un acceso eficaz a los datos.



Mantener la integridad de los datos a lo largo del tiempo.



Ser claro, coherente y de fácil comprensión.

5

El diseño de una base de datos consiste en definir la estructura de los datos que debe tener un sistema de información determinado. Para ello se suelen seguir por regla general unas fases en el proceso de diseño, definiendo para ello el modelo conceptual, el lógico y el físico.

En el diseño conceptual se hace una descripción de alto nivel de la estructura de la base de datos, independientemente del SGBD (Sistema Gestor de Bases de Datos) que se vaya a utilizar para manipularla. Su objetivo es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar dicha información.

El diseño lógico parte del resultado del diseño conceptual y da como resultado una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de SGBD. El diseño lógico depende del tipo de SGBD que se vaya a utilizar, se adapta a la tecnología que se debe emplear, pero no depende del producto concreto. En el caso de bases de datos convencionales relacionales (basadas en SQL para entendernos), el diseño lógico consiste en definir las tablas que existirán, las relaciones entre ellas, normalizarlas, etc...

El diseño físico parte del lógico y da como resultado una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Aquí el objetivo es conseguir una mayor eficiencia, y se tienen en cuenta aspectos concretos del SGBD sobre el que se vaya a implementar. Por regla general esto es transparente para el usuario, aunque conocer cómo se implementa ayuda a optimizar el rendimiento y la escalabilidad del sistema.

5. IMPORTACIÓN / EXPORTACION 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 los programas posee uno o varios métodos para realizar una importación o exportación de información. Para que un programa pueda operar con la información generada por otro, precisa de “convertidores”. Un convertidor es un programa incluido dentro del procesador de texto, de 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 con intercambio de información. 6

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 la importación como la exportación de datos van asociadas a un proceso de conversión de formatos. Esto es debido a que cada fabricante ha diseñado un modo distinto de almacenar datos y la información asociada en los archivos. Si las aplicaciones están agrupadas en un Paquete Integrado (Windows office, open office…), 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.

6. CONCLUSIONES Como hemos visto en este tema, 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 informacion ordenada en alguna estructura que facilita el acceso a esas tablas, ordenarlas y seleccionar filas y columnas de las tablas según criterios específicos. 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. El lenguaje SQL está compuesto por comandos, cláusulas, operadores, y funciones de agregados. 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.

7. BIBLIOGRAFÍA o Garzón Perez, Mª T.; Sistemas Gestores de Bases de Datos; ISSN 988-6047 o CEDE Procesos Comerciales, equipo profesores del centro de documentación, “tema 63 Bases de datos: Tipos…” http://www.campusmvp.es/recursos/post/Disenando-una-base-de-datos-en-elmodelo-relacional.aspx https://es.wikipedia.org/wiki/SQL

7

8