Академический Документы
Профессиональный Документы
Культура Документы
CONNEXIONS
Rice University, Houston, Texas
This selection and arrangement of content as a collection is copyrighted by Miguel-Angel Sicilia. It is licensed under the Creative Commons Attribution 2.0 license (http://creativecommons.org/licenses/by/2.0/). Collection structure revised: September 9, 2008 PDF generated: February 5, 2011 For copyright and attribution information for the modules contained in this collection, see p. 11.
Table of Contents
1 Conceptos bsicos 1.1 Qu son las bases de datos? . . . . . . . . . . . . . . . . . . . . . 1 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Attributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
iv
Bajo A
1.1.2 Mejor dicho, las bases de datos son informacin almacenada de acuerdo a una estructura sistemtica
El ejemplo anterior puede considerarse una base de datos. No obstante, en la prctica es raro encontrar que se utilicen cheros de texto para guardar bases de datos excepto para casos muy simples. Con la evolucin de la informtica, se han desarrollado ciertos modelos de bases de datos que hacen ms uniforme, eciente y seguro el almacenamiento de la informacin. Para entender el concepto de modelo de bases de datos, nos jaremos en algunos aspectos del chero anterior, concretamente en los siguientes: Cmo se dene el formato de los datos? En este caso, la denicin del formato ha sido una decisin del creador de los cheros, adoptando ciertas convenciones en el orden de los campos. Adems, parece que falta consistencia en la denicin de los separadores de los campos (en unos registros se usa un guin y en otros una barra). Cmo se consulta (o actualiza) la informacin en esos cheros? Dado que la estructura es ad hoc, habr que escribir programas que sepan manejar esa estructura. Los cheros con formatos ad hoc no poseen un formato de datos comn, ni formas de hacer consultas o actualizaciones generales. Precisamente para conseguir esos formatos y lenguajes de consulta comunes se han desarrollado los denominados modelos de bases de datos. modelo de bases de datos: una denicin de una forma de estructurar las bases de datos, junto a las operaciones (consultas y actualizaciones) que se pueden hacer sobre esa estructura. Un modelo de bases de datos es terico, no es un software concreto.Por ejemplo segn el modelo relacional de bases de datos los datos se estructuran en tablas que tienen la forma matemtica de una relacin, y se denen una serie de operaciones matemticas (selecciones, proyecciones, etc.) para
CHAPTER 1. CONCEPTOS BSICOS consultarlos. No en todos los casos los modelos de bases de datos tienen una formulacin matemtica, pero s tienen una formulacin de carcter formal.
Por tanto, el principal inconveniente que tienen los cheros como el que hemos visto es que la forma de guardar los datos (el orden, la estructura) sigue solamente el criterio del individuo que cre el chero con los datos. En el ejemplo anterior, en unos casos se usan guiones y en otras barras para separar los campos dentro de un registro, no hay uniformidad en el orden de apellidos y nombre de los individuos, etc. As, si otras personas (u otras aplicaciones informticas) quieren utilizarlo tienen que interpretar el formato que le dio el creador original. Esto lleva a un concepto de base de datos que incluye en su denicin el concepto de estructura sistemtica, es decir, los datos se almacenan de acuerdo a convenciones estrictas que deben seguirse. base de datos: Una coleccin de datos interrelacionados almacenados conjuntamente en uno o ms cheros de computadora de acuerdo a una organizacin y estructura sistemtica determinada por un modelo de bases de datos. 1.1.2.1 Un ejemplo: el modelo relacional de bases de datos Sin entrar en muchos detalles, podemos decir que el modelo relacional se basa en utilizar tablas relacionales para almacenar la informacin. As, tomando el ejemplo anterior, tendramos la denicin de una tabla relacional como la siguiente:
5 est marcado como la clave primaria, es decir, un dato que identica unvocamente a cada la (tupla) de la tabla. Como vemos, los tipos de datos y la forma de estructurar la informacin estn denidos por el modelo. Si quisisemos hacer una consulta sobre la tabla anterior, no hara falta hacer un programa que tratase con la esturctura de un chero, sino que utilizaramos un lenguaje de bases de datos. Concretamente, el lenguaje SQL es un lenguaje estandarizado para bases de datos relacionales. Una consulta SQL que obtiene los clientes de una localidad sera la siguiente:
class Cliente{ String apellidos; String nombre; Direccion dir; String cp; Localidad loc; java.util.Date fechaNac; public String getApellidos(){ //... } // otros mtodos... }
Donde Direccion y Localidad seran otras clases Java deniendo objetos que representan direcciones, y podemos ver que se utiliza la clase Date denida en las bibliotecas de Java. La ventaja de este modelo de bases de datos es que es muy cercano a la representacin de los datos que se utiliza en los lenguajes orientados a objetos (de hecho, las deniciones de los datos son las mismas clases que se utilizan en la programacin, como la clase Cliente), y permite aplicar el diseo orientado a objetos en la medida que queramos. Para consultar estas bases de datos uno de los lenguajes posibles es el object query languaje (OQL), similar al SQL.
7 1.1.2.3 Los Sistemas de Gestin de Bases de Datos implementan software para gestionar datos de acuerdo a un modelo La normalizacin de la estructura y los lenguajes de acceso permite construir software especializado que se encargue de tratar con los datos en un formato estandarizado. A ese software especializado se le denomina Sistema Gestor de Bases de Datos (SGBD). Los SGDB adems incluyen muchas funciones como la seguridad y el control de acceso, adicionales a la mera estandarizacin de las estructuras y los lenguajes de consulta y actualizacin. Hay muchas aplicaciones software que cumplen (en mayor o menor medida) con el modelo de bases de datos relacional, desde aplicaciones de omtica como Base en OpenOfce hasta software complejos con muchas funciones, como el gestor de bases de datos MySQL. Habitualmente, un SGBD se ajusta a un modelo de base de datos, as se dice que es un gestor relaciona o un gestor orientado a objetos, etc., aunque actualmente hay SGBD que combinan aspectos de varios modelos. El concepto de Sistema Gestor de Bases de Datos (SGBD) se dene en el Glosario IEEE de Ingeniera del Software de la siguiente forma. Sistema Gestor de Bases de Datos (SGBD). Un sistema informtico compuesto por hardware, softwar e o ambos, que proporciona una tcnica sistemtica para la creacin, el almacenamiento, el procesamiento y la consulta de la informacin almacenada en base de datos. Un SGBD acta como un intermediario entre las aplicaciones y los datos, o bien entre los datos y la base de datos. [. . .] Es decir, un SGDB es un software (normalmente el mismo software de SGBD puede instalarse en conguraciones hardware muy variadas) que proporciona funcionalidad aadida al sistema de cheros para facilitar la gestin de datos. Las Figuras 1 y 2 mues-
tran esta diferencia. En la Figura 1, se tiene una aplicacin que directxamente funciona sobre la interfaz de cheros del sistema operativo, que a su vez gestiona los medios fsicos de almacenamiento (discos duros, discos pticos, etc.).
Figure 1.1
La Figura 1 representa la gestin de los datos mediante cheros como el mencionado clientes.txt ms arriba.
Figure 1.2
En la Figura 2 se muestra como el SGBD proporciona funciones adicionales, de modo que las aplicaciones no trabajan directamente
9 con los cheros y directorios, sino que utilizan funciones de los gestores de bases de datos. Los cheros son unidades de almacenamiento bsicas de los Sistemas Operativos. Un chero a ese nivel de abstraccin es una secuencia de bytes con un nombre. Las aplicaciones abren y usan los cheros y la asignacin del espacio (contigua, enlazada, con ndices) en los medios fsicos es transparente al usuario. El uso de un SGBD proporciona una serie de ventajas que han de valorarse a la hora de seleccionar su uso, que vienen a resolver los problemas que presenta el simple uso de cheros. Los SGBD han evolucionado hasta convertirse en piezas de software complejas que requieren habilidades de conguracin y administracin especcas.
10
INDEX
ATTRIBUTIONS
11
Attributions
Collection: Fundamentos de bases de datos Edited by: Miguel-Angel Sicilia URL: http://cnx.org/content/col10570/1.1/ License: http://creativecommons.org/licenses/by/2.0/ Module: "Qu son las bases de datos?" By: Miguel-Angel Sicilia URL: http://cnx.org/content/m17423/1.2/ Pages: 1-9 Copyright: Miguel-Angel Sicilia License: http://creativecommons.org/licenses/by/2.0/
Fundamentos de bases de datos Introduccin a las bases de datos y los sistemas gestores de bases de datos, basado fundamentalmente en el modelo relacional. Incluye modelado conceptual, diseo lgico y aspectos del modelo fsico de bases de datos, as como el lenguaje SQL.
About Connexions Since 1999, Connexions has been pioneering a global system where anyone can create course materials and make them fully accessible and easily reusable free of charge. We are a Web-based authoring, teaching and learning environment open to anyone interested in education, including students, teachers, professors and lifelong learners. We connect ideas and facilitate educational communities. Connexionss modular, interactive courses are in use worldwide by universities, community colleges, K-12 schools, distance learners, and lifelong learners. Connexions materials are in many languages, including English, Spanish, Chinese, Japanese, Italian, Vietnamese, French, Portuguese, and Thai. Connexions is part of an exciting new information distribution system that allows for Print on Demand Books. Connexions has partnered with innovative on-demand publisher QOOP to accelerate the delivery of printed course materials and textbooks into classrooms worldwide at lower prices than traditional academic publishers.