You are on page 1of 11

Fuente: http://sistemas.itlp.edu.mx/tutoriales/basedat1/temas1.

htm

Introduccin a los conceptos de bases de datos 1.1 Definicin de Base de Datos Todo buen curso necesita empezar con algunos conceptos bsicos para el mejor entendimiento del mismo, por lo tanto empezaremos con las definiciones que involucran a las bases de datos. Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos. Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informaci n, primero se debe guardar l gicamente en arc!ivos. Conceptos bsicos de archivos computacionales. Campo: Es la unidad ms peque"a a la cual uno puede referirse en un programa. #esde el punto de vista del programador representa una caracter$stica de un individuo u objeto. Registro: Colecci n de campos de iguales o de diferentes tipos. Archivo: Colecci n de registros almacenados siguiendo una estructura !omognea. Base de datos: Es una colecci n de arc!ivos interrelacionados, son creados con un #%&'. El contenido de una base de datos engloba a la informaci n concerniente(almacenadas en arc!ivos) de una organizaci n, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. *os tres componentes principales de un sistema de base de datos son el !ard+are, el soft+are #%&' y los datos a manejar, as$ como el personal encargado del manejo del sistema. Sistema ane!ador de Base de Datos. "DB S# ,n #%&' es una colecci n de numerosas rutinas de soft+are interrelacionadas, cada una de las cuales es responsable de una tarea espec$fica. El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al e-traer, almacenar y manipular informaci n de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del #%&', por lo que este paquete funciona como interfase entre los usuarios y la base de datos. $s%uema de base de datos: Es la estructura por la que esta formada la base de datos, se especifica por medio de un conjunto de definiciones que se e-presa mediante un lenguaje especial llamado lenguaje de definici n de datos. (##*) Administrador de base de datos (DBA): Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene(n) e-periencia en #%&', dise"o de bases de datos, 'istemas operativos, comunicaci n de datos, !ard+are y programaci n.

*os sistemas de base de datos se dise"an para manejar grandes cantidades de informaci n, la manipulaci n de los datos involucra tanto la definici n de estructuras para el almacenamiento de la informaci n como la provisi n de mecanismos para la manipulaci n de la informaci n, adems un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la integridad de la informaci n, a pesar de ca$das del sistema o intentos de accesos no autorizados. ,n objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visi n abstracta de los datos, esto se logra escondiendo ciertos detalles de como se almacenan y mantienen los datos.

1.2 Objetivos de los sistemas de bases de datos. *os objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos. Redundancia e inconsistencia de datos. /uesto que los arc!ivos que mantienen almacenada la informaci n son creados por diferentes tipos de programas de aplicaci n e-iste la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informaci n, es decir que la misma informaci n sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los datos 0 es decir diversas copias de un mismo dato no concuerdan entre si 0, por ejemplo. que se actualiza la direcci n de un cliente en un arc!ivo y que en otros arc!ivos permanezca la anterior. Dificultad para tener acceso a los datos. ,n sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. 'up ngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del c digo postal 12133 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. /uesto que esta situaci n no fue prevista en el dise"o del sistema, no e-iste ninguna aplicaci n de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aislamiento de los datos. /uesto que los datos estn repartidos en varios arc!ivos, y estos no pueden tener diferentes formatos, es dif$cil escribir nuevos programas de aplicaci n para obtener los datos apropiados. Anomalas del acceso concurrente. /ara mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muc!os sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as$ la interacci n de actualizaciones concurrentes puede dar por resultado datos inconsistentes. /ara prevenir esta posibilidad debe mantenerse alguna forma de supervisi n en el sistema. Problemas de seguridad. *a informaci n de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informaci n, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificaci n y protecci n de los datos. En un banco por ejemplo, el personal de n minas s lo necesita ver la parte de la base de datos que tiene informaci n acerca de los distintos empleados del banco y no a otro tipo de informaci n. Problemas de integridad. *os valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se !acen cumplir en el sistema a"adiendoc digos apropiados en los diversos programas de aplicaci n.

1.3 Abstraccin de la informacin. ,na base de datos es en esencia una colecci n de arc!ivos relacionados entre s$, de la cual los usuarios pueden e-traer informaci n sin considerar las fronteras de los arc!ivos. ,n objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visi n abstracta de los datos, es decir, el sistema esconde ciertos detalles de c mo se almacenan y mantienen los datos. 'in embargo para que el sistema sea manejable, los datos se deben e-traer eficientemente. E-isten diferentes niveles de abstracci n para simplificar la interacci n de los usuarios con el sistema4 5nterno, conceptual y e-terno, espec$ficamente el de almacenamiento f$sico, el del usuario y el del programador. Nivel fsico.

Es la representaci n del nivel ms bajo de abstracci n, en ste se describe en detalle la forma en como de almacenan los datos en los dispositivos de almacenamiento(por ejemplo, mediante se"aladores o $ndices para el acceso aleatorio a los datos). Nivel conceptual. El siguiente nivel ms alto de abstracci n, describe que datos son almacenados realmente en la base de datos y las relaciones que e-isten entre los mismos, describe la base de datos completa en trminos de su estructura de dise"o. El nivel conceptual de abstracci n lo usan los administradores de bases de datos, quienes deben decidir qu informaci n se va a guardar en la base de datos. Consta de las siguientes definiciones.

6. Definicin de los datos: 'e describen el tipo de datos y la longitud de campo todos los 7.
elementos direccionables en la base. *os elementos por definir incluyen art$culos elementales (atributos), totales de datos y registros conceptuales (entidades). elaciones entre datos: 'e definen las relaciones entre datos para enlazar tipos de registros relacionados para el procesamiento de arc!ivos mltiples.

En el nivel conceptual la base de datos aparece como una colecci n de registros l gicos, sin descriptores de almacenamiento. En realidad los arc!ivos conceptuales no e-isten f$sicamente. *a transformaci n de registros conceptuales a registros f$sicos para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario. Nivel de visin. 8ivel ms alto de abstracci n, es lo que el usuario final puede visualizar del sistema terminado, describe s lo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muc!as visiones para la misma base de datos. *a interrelaci n entre estos tres niveles de abstracci n se ilustra en la siguiente figura.

1.! "odelos de datos. /ara introducirnos en este tema, empezaremos definiendo que es un modelo. modelo: Es una representaci n de la realidad que contiene las caracter$sticas generales de algo que se va a realizar. En base de datos, esta representaci n la elaboramos de forma grfica. Qu es modelo de datos? Es una colecci n de !erramientas conceptuales para describir los datos, las relaciones que e-isten entre ellos, semntica asociada a los datos y restricciones de consistencia. *os modelos de datos se dividen en tres grupos. &odelos l gicos basados en objetos. &odelos l gicos basados en registros. &odelos f$sicos de datos.

odelos lgicos basados en ob!etos. 'e usan para describir datos en los niveles conceptual y de visi n, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuraci n bastante fle-ible y permiten especificar restricciones de datos e-pl$citamente. E-isten diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad09elaci n. : odelo "ntidad#Relacin.

#enominado por sus siglas como. E094 Este modelo representa a la realidad a travs de entidades, que son objetos que e-isten y que se distinguen de otros por sus caracter$sticas, por ejemplo. un alumno se distingue de otro por sus caracter$sticas particulares como lo es el nombre, o el numero de control asignado al entrar a una instituci n educativa, as$ mismo, un empleado, una materia, etc. *as entidades pueden ser de dos tipos. Tangibles . 'on todos aquellos objetos f$sicos que podemos ver, tocar o sentir. 5ntangibles. Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que e-isten, por ejemplo. la entidad materia, sabemos que e-iste, sin embargo, no la podemos visualizar o tocar. *as caracter$sticas de las entidades en base de datos se llaman atributos& por ejemplo el nombre, direcci n telfono, grado, grupo, etc. son atributos de la entidad alumno4 Clave, nmero de seguro social, departamento, etc., son atributos de la entidad empleado. ; su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones. /ero para entender mejor esto, veamos un ejemplo. Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan4 de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el art$culo (que es el producto en venta), y las caracter$sticas que los identifican son. Empleado: 8ombre /uesto 'alario 9.<.C. Artculo: #escripci n Costo Clave

*a relaci n entre ambas entidades la podemos establecer como =enta. %ueno, a!ora nos falta describir como se representa un modelo E09 grficamente, la representaci n es muy sencilla, se emplean s$mbolos, los cuales son.

$mbolo

Representa

;s$ nuestro ejemplo anterior quedar$a representado de la siguiente forma.

E-isten ms aspectos a considerar con respecto a los modelos entidad relaci n, estos sern considerados en el tema &odelo Entidad 9elaci n. odelos lgicos basados en registros. 'e utilizan para describir datos en los niveles conceptual y f$sico. Estos modelos utilizan registros e instancias para representar la realidad, as$ como las relaciones que e-isten entre estos registros (ligas) o apuntadores. ; diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura l gica global de la base de datos y para proporcionar una descripci n a nivel ms alto de la implementaci n. *os tres modelos de datos ms ampliamente aceptados son. &odelo 9elacional &odelo de 9ed &odelo >errquico % odelo relacional.

En este modelo se representan los datos y las relaciones entre estos, a travs de una colecci n de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendr la base de datos y las columnas corresponden a las caracter$sticas(atributos) de cada registro localizado en la tupla4 Considerando nuestro ejemplo del empleado y el art$culo. Tabla del empleado

;!ora te preguntaras 'cmo se representan las relaciones entre las entidades en este modelo( E-isten dos formas de representarla4 pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad. /or ejemplo, el 9<C de un empleado se distingue de otro por que los 9<C no pueden ser iguales. ;!ora si, las formas de representar las relaciones en este modelo son. 1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin. Tomando en cuenta que la llave primaria del empleado es su 9<C, y la llave primaria del articulo es la Clave.

2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.

odelo de red.

Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. *os registros se organizan en un conjunto de grficas arbitrarias. Ejemplo.

/ara profundizar en este tema visitemos. &odelo de datos de red. * Modelo jerrquico. Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus ligas. *a diferencia radica en que estn organizados por conjuntos de arboles en lugar de grficas arbitrarias.

/ara profundizar ms en el tema visita. &odelo de datos jerrquico. odelos fsicos de datos. 'e usan para describir a los datos en el nivel ms bajo, aunque e-isten muy pocos modelos de este tipo, bsicamente capturan aspectos de la implementaci n de los sistemas de base de datos. E-isten dos clasificaciones de este tipo que son. &odelo unificador &emoria de elementos.

1.# Instancias $ es%uemas. Con el paso del tiempo la informaci n que se va acumulando y desec!ando en la base de datos, ocasiona que est cambie. Denominamos:

Instancia. ;l estado que presenta una base de datos en un tiempo dado. =emoslo como una fotograf$a que tomamos de la base de datos en un tiempo t, despus de que transcurre el tiempo t la base de datos ya no es la misma. $s%uema. Es la descripci n l gica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que e-isten entre ellos. Es un banco en el que se inscriben los valores que irn formando cada uno de los atributos. El esquema no cambia los que var$an son los datos y con esto tenemos una nueva instancia. $!emplo: Considerando el ejemplo del vendedor que vende art$culos, esquema e instancia segn nuestro ejemplo, quedar$a. $s%uema: ? =endedor . 8ombre, puesto, salario, 9<C @ ? ;rticulo . Clave, costo, descripci n @ Instancia:

Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en registros cuyos nombres de campos son. por parte del vendedor (8ombre, puesto,salario, 9<C) y por el art$culo (Clave, costo,descripci n)4 *a instancia representa a una serie de datos almacenados en los registros establecidos por el esquema, estos datos var$an, no permanecen fijos en el tiempo.

1.& Independencia de los datos 'e refiere a la protecci n contra los programas de aplicaci n que puedan originar modificaciones cuando se altera la organizaci n f$sica o l gica de la base de datos. E-isten 7 niveles de independencia de datos. Independencia f)sica de datos: Es la capacidad de modificar el esquema f$sico sin provocar que se vuelvan a escribir los programas de aplicaci n. Independencia lgica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicaci n.

1.' (en)uaje de definicin de datos El lenguaje de definici n de datos, denominado por sus siglas como. ##*(#ata definition *anguage). /ermite definir un esquema de base de datos por medio de una serie de definiciones que se e-presan en un lenguaje especial, el resultado de estas definiciones se almacena en un arc!ivo especial llamado diccionario de datos. 1.* (en)uaje de manipulacin de datos *a manipulaci n de datos se refiere a las operaciones de insertar, recuperar, eliminar o modificar datos4 dic!as operaciones son realizadas a travs del lenguaje de manipulaci n de datos (#&*, #ata &anipulation *anguage), que es quin permite el acceso de los usuarios a los datos. E-isten bsicamente 7 tipos de lenguajes de manipulaci n de datos. *rocedimentales: *os *&# requieren que el usuario especifique que datos se necesitan y c mo obtenerlos. +o procedimentales: *os *&# requieren que el usuario especifique que datos se necesitan y sin especificar c mo obtenerlos.

1.+ "anejador de Bases de Datos El sistema manejador de bases de datos es la porci n ms importante del soft+are de un sistema de base de datos. ,n #%&' es una colecci n de numerosas rutinas de soft+are interrelacionadas, cada una de las cuales es responsable de alguna tarea espec$fica. ,as funciones principales de un DB Crear y organizar la %ase de datos. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rpidamente. &anejar los datos de acuerdo a las peticiones de los usuarios. 9egistrar el uso de las bases de datos. 5nteracci n con el manejador de arc!ivos. Esto a travs de las sentencias en #&* al comando de el sistema de arc!ivos. ;s$ el &anejador de base de datos es el responsable del verdadero almacenamiento de los datos. 9espaldo y recuperaci n. Consiste en contar con mecanismos implantados que permitan la recuperaci n fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia. Consiste en controlar la interacci n entre los usuarios concurrentes para no afectar la inconsistencia de los datos. 'eguridad e integridad. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos. El #%&' es conocido tambin como Aestor de %ase de datos. S son:

*a figura muestra el #%&' como interfase entre la base de datos f$sica y las peticiones del usuario. El #%&' interpreta las peticiones de entradaBsalida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En s$, un sistema manejador de base de datos es el coraz n de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.

1.1, Administrador de Bases de Datos #enominado por sus siglas como. #%;, #atabase ;dministrator. Es la persona encargada y que tiene el control total sobre el sistema de base de datos, sus funciones principales son. Definicin de es%uema. Es el esquema original de la base de datos se crea escribiendo un conjunto de definiciones que son

traducidas por el compilador de ##* a un conjunto de tablas que son almacenadas permanentemente en el diccionario de datos. Definicin de la estructura de almacenamiento del m-todo de acceso. Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son traducidas por e compilador del lenguaje de almacenamiento y definici n de datos. Concesin de autori.acin para el acceso a los datos. /ermite al administrador de la base de datos regular las partes de las bases de datos que van a ser accedidas por varios usuarios. $specificacin de l)mitantes de integridad. Es una serie de restricciones que se encuentran almacenados en una estructura especial del sistema que es consultada por el gestor de base de datos cada vez que se realice una actualizaci n al sistema. 1.11 -suarios de las bases de datos. /odemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se dise"a, elabora, termina y se usa. *os usuarios que accesan una base de datos pueden clasificarse como. *rogramadores de aplicaciones. *os profesionales en computaci n que interactuan con el sistema por medio de llamadas en #&* (*enguaje de &anipulaci n de #atos), las cuales estn incorporadas en un programa escrito en un lenguaje de programaci n (/or ejemplo, CC%C*, /*B5, /ascal, C, etc.) /suarios sofisticados. *os usuarios sofisticados interactuan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. /suarios especiali.ados. ;lgunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. /suarios ingenuos. *os usuarios no sofisticados interactuan con el sistema invocando a uno de los programas de aplicaci n permanentes que se !an escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del dise"o interno del mismo por ejemplo. un cajero.

1.1, Administrador de Bases de Datos #enominado por sus siglas como. #%;, #atabase ;dministrator. Es la persona encargada y que tiene el control total sobre el sistema de base de datos, sus funciones principales son. Definicin de es%uema. Es el esquema original de la base de datos se crea escribiendo un conjunto de definiciones que son traducidas por el compilador de ##* a un conjunto de tablas que son almacenadas permanentemente en el diccionario de datos. Definicin de la estructura de almacenamiento del m-todo de acceso. Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son traducidas por e compilador del lenguaje de almacenamiento y definici n de datos. Concesin de autori.acin para el acceso a los datos. /ermite al administrador de la base de datos regular las partes de las bases de datos que van a ser accedidas por varios usuarios. $specificacin de l)mitantes de integridad. Es una serie de restricciones que se encuentran almacenados en una estructura especial del sistema que es consultada por el gestor de base de datos cada vez que se realice una actualizaci n al sistema. 1.11 -suarios de las bases de datos.

/odemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se dise"a, elabora, termina y se usa. *os usuarios que accesan una base de datos pueden clasificarse como. *rogramadores de aplicaciones. *os profesionales en computaci n que interactuan con el sistema por medio de llamadas en #&* (*enguaje de &anipulaci n de #atos), las cuales estn incorporadas en un programa escrito en un lenguaje de programaci n (/or ejemplo, CC%C*, /*B5, /ascal, C, etc.) /suarios sofisticados. *os usuarios sofisticados interactuan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. /suarios especiali.ados. ;lgunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. /suarios ingenuos. *os usuarios no sofisticados interactuan con el sistema invocando a uno de los programas de aplicaci n permanentes que se !an escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del dise"o interno del mismo por ejemplo. un cajero.

1.12 .structura )eneral del sistema. ,n sistema de base de datos se encuentra dividido en m dulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayor$a de los casos, el sistema operativo proporciona nicamente los servicios ms bsicos y el sistema de la base de datos debe partir de esa base y controlar adems el manejo correcto de los datos. ;s$ el dise"o de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo. *os componentes funcionales de un sistema de base de datos, son. 0estor de archivos. Aestiona la asignaci n de espacio en la memoria del disco y de las estructuras de datos usadas para representar informaci n. ane!ador de base de datos. 'irve de interfaz entre los datos y los programas de aplicaci n. *rocesador de consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. ;dems convierte la solicitud del usuario en una forma ms eficiente. Compilador de DD,. Convierte las proposiciones ##* en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos. Archivo de datos. En l se encuentran almacenados f$sicamente los datos de una organizaci n. Diccionario de datos. Contiene la informaci n referente a la estructura de la base de datos. Indices. /ermiten un rpido acceso a registros que contienen valores espec$ficos. ,na forma grfica de representar los componentes antes mencionados y la relaci n que e-iste entre ellos ser$a la siguiente.