Вы находитесь на странице: 1из 5

19 de Febrero de 2008 1.3.

1 NIVELES DE ABSTRACCIN DE LOS DATOS Un de los objetivos de un SMBD es proporcionar a los usuarios una visin abstracta de los datos. Es decir, esconder los detalles de implementacin y almacenamiento de los mismos, porque a la mayora de los usuarios no lo comprenden ni les importa. Para que un SMBD sea til debe recuperar los datos de forma eficiente. Ello ha conducido a disear estructuras de datos complejas para representar los datos de una BD y acceder a ellos rpidamente. Debido a que muchos usuarios de los SMBD no estn muy familiarizados con el rea de estructuras de datos, administracin de archivos, programacin, etc., los SMBD han escondido esta complejidad a los usuarios a travs de varios niveles de abstraccin. Esto simplifica la interaccin de los usuarios con el sistema. a) Nivel fsico: a. Es el nivel ms bajo de abstraccin de datos b. Describe cmo se almacenan realmente los datos i. Estructuras de datos complejas de bajo nivel ii. Procesos para manipular tales estructuras iii. Desarrolladores de los SMBD (Oracle, Informix, SQL Server) b) Nivel lgico: a. Qu datos se almacenan en la base de datos b. Qu relaciones existen entre esos datos c. La base de datos se define como un conjunto de estructuras fciles de entender y menos numerosas que las estructuras del nivel fsico d. Los usuarios del nivel lgico no se preocupan por la complejidad en el nivel fsico que conlleva la definicin de estructuras en el nivel lgico e. Existen muchos modelos y lenguajes para disear BD en el nivel lgico f. En este curso se trabajar en el nivel lgico de datos g. Usuarios de los SMBD i. Administradores de las bases de datos ii. Desarrolladores de aplicaciones c) Nivel de vistas: a. Describe slo parte de la base de datos completa. b. Elimina la complejidad que todava queda en el nivel lgico debido a la variedad de informacin almacenada en la BD c. Muchos usuarios no necesitan ver toda la informacin ni los tipos de datos correspondientes a cada valor almacenado d. Estos usuarios solamente necesitan acceder a una parte de la base de datos en un momento dado e. El sistema puede proporcionar muchas vistas para la misma BD f. Usuarios de las aplicaciones

Las bases de datos van cambiando a lo largo del tiempo, conforme se agregue, elimine o modifique informacin. Esquema. El diseo completo de la base de datos. Es raramente modificado. En programacin: declaracin de variables, considerando tipo de dato

asociado Ejemplar. Toda la informacin almacenada en la base de datos en un momento particular. Cambia constantemente. En programacin: los valores de las variables declaradas de un programa Los SMBD tienen varios esquemas divididos de acuerdo a los 3 niveles de abstraccin mencionados anteriormente. El esquema fsico describe el diseo fsico (estructuras de datos, algoritmos para el acceso a ellas), mientras que el esquema lgico define el diseo de la base de datos en el nivel lgico (tablas, relaciones). Pueden existir varios esquemas en el nivel de vistas o subesquemas, que describen diferentes vistas de la misma base de datos (consultas).

1.4.1 LENGUAJES DE BASES DE DATOS Un SMBD proporciona dos tipos de lenguajes: 1) Lenguaje de definicin de datos (LDD) Especifica el esquema de la base de datos 2) Lenguaje de manipulacin de datos (LMD) Expresar consultas y modificaciones a la base de datos En la prctica estos 2 lenguajes no estn separados, sino forman parte de un nico lenguaje de base de datos, como SQL. Lenguaje de definicin de datos El esquema de una base de datos se especifica mediante definiciones expresadas mediante un LDD. Por ejemplo, la siguiente instruccin en SQL define la tabla cuenta:
create table Cuenta(no_cuenta char(10), saldo integer)

La ejecucin de la instruccin anterior actualiza un conjunto especial de tablas denominado diccionario de datos o directorio de datos. Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos. El esquema de una tabla es un ejemplo de metadatos. Un SMBD consulta el diccionario de datos antes de leer o modificar los datos reales. El LDD tambin est a cargo de especificar las restricciones de consistencia sobre los valores de los datos almacenados en la BD, a travs de un tipo especial de LDD denominado lenguaje de almacenamiento y definicin de datos.

Lenguaje de manipulacin de datos La manipulacin de datos incluye: a) La recuperacin de informacin almacenada en la BD b) La insercin de informacin nueva en la base de datos c) El borrado de informacin existente en la base de datos d) La modificacin de informacin almacenada en la base de datos Existen 2 tipos de LMD: 1) Procedimentales. Se especifica qu datos se necesitan y cmo obtenerlos 2) Declarativos o no procedimentales. Slo se especifica qu datos se necesitan Los LMDs declarativos son evidentemente ms fciles de aprender. El SMBD determina un mtodo eficiente de acceder a los datos. El componente LMD del lenguaje SQL es declarativo.

1.5.2 ARQUITECTURA DE UNA APLICACIN DE SMBD La mayora de los usuarios de una aplicacin de BD no estn situados junto al sistema de bases de datos, sino que se conectan a l a travs de una red. Podemos distinguir entonces entre las mquinas cliente, en donde trabajan los usuarios remotos de la base de datos, y las mquinas servidor, en las que se ejecuta el SMBD. Las aplicaciones de BD se dividen, por lo general, en dos o tres partes, y se denominan arquitectura de dos o tres capas, respectivamente. En la arquitectura de dos capas, las aplicaciones efectan consultas al SMBD, sin importar si los datos residen localmente o en otra mquina dentro de la red. La comunicacin entre la aplicacin y el SMBD se efecta, normalmente, a travs de un ODBC o un JDBC. ODBC es un estndar de conectividad a base de datos definido por Microsoft para el uso, originalmente, con el lenguaje C. Existe un ODBC de acceso a datos para cada SMBD existente: Access, SQL Server, Paradox, DBase, FoxPro, entre otros. JDBC proporciona caractersticas semejantes pero para el lenguaje Java. Es independiente de la plataforma (Windows, Linux, Macintosh).

Arquitectura de dos capas.

Aplicacin / Applet ODBC / JDBC

Mquina cliente (Windows, Linux, Macintosh)

Protocolo de comunicacin con el SMBD

La base de datos puede residir localmente o en otra mquina El cliente tiene acceso directo a la base de datos a travs de consultas

SMBD

Mquina servidor

En la arquitectura de tres capas se incorpora un intermediario, el servidor de aplicaciones, el cual atiende peticiones de las aplicaciones, efectuando consultas al SMBD y enviando copias de los datos solicitados; estas peticiones se efectan, por lo general, a travs de formularios y pginas Web. Arquitectura de tres capas.

Aplicacin / Applet

Mquina cliente (Windows, Linux, Macintosh)

HTTP / CORBA / RMI / Sockets

Mquina servidor Servidor de aplicaciones Controlador ODBC / JDBC Protocolo de comunicacin con el SMBD La base de datos reside, por lo general, en otra mquina El cliente no tiene control directo de la base de datos Los drivers ODBC/JDBC residen solamente en el servidor

SMBD

Servidor de base de datos

2. MODELO ENTIDAD RELACIN Peter Chen cre el modelo entidadrelacin o modelo E-R en 1976, en la publicacin de su artculo The Entity-Relationship Model Towards a Unified View of Data. Actualmente no existe un solo modelo estndar E-R que sea comnmente aceptado; a lo largo de los aos han surgido muchas variantes de este modelo. En este curso se describen los aspectos comunes que tienen las diferentes versiones del modelo E-R. Los elementos clave del modelo E-R son: Entidades Atributos Identificadores Relaciones

2.1 ENTIDADES Una entidad es algo que se puede identificar en el medio de trabajo de los usuarios; es decir, es aquello a lo cual los usuarios quieren dar seguimiento. Ejemplos: 1) El empleado Juan Prez 2) El proveedor Telecable 3) El proveedor Telcel 4) La factura 1506 5) El producto Procesamiento de Bases de Datos. Kroenke. 8va Edicin. 6) La materia Teora de la computacin Existen: clase de entidad, instancia de entidad. Las entidades de determinado tipo de agrupan en clases de entidades. Juan Prez y Telecable son instancias de entidad. Proveedor es clase de entidad Una clase de entidad se describe mediante la estructura de las entidades de esa clase. Una instancia de entidad se describe mediante los valores de los atributos de sta.