1_modelo entidad-relación

5
19 de Febrero de 2008 1.3.1 NIVELES DE ABSTRACCIÓN DE LOS DATOS Un de los objetivos de un SMBD es proporcionar a los usuarios una visión abstracta de los datos. Es decir, esconder los detalles de implementación y almacenamiento de los mismos, porque a la mayoría 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 diseñar estructuras de datos complejas para representar los datos de una BD y acceder a ellos rápidamente. Debido a que muchos usuarios de los SMBD no están muy familiarizados con el área de estructuras de datos, administración de archivos, programación, etc., los SMBD han escondido esta complejidad a los usuarios a través de varios niveles de abstracción. Esto simplifica la interacción de los usuarios con el sistema. a) Nivel físico: a. Es el nivel más bajo de abstracción de datos b. Describe cómo 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 lógico: 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 fáciles de entender y menos numerosas que las estructuras del nivel físico d. Los usuarios del nivel lógico no se preocupan por la complejidad en el nivel físico que conlleva la definición de estructuras en el nivel lógico e. Existen muchos modelos y lenguajes para diseñar BD en el nivel lógico f. En este curso se trabajará en el nivel lógico de datos g. Usuarios de los SMBD i. Administradores de las bases de datos ii. Desarrolladores de aplicaciones c) Nivel de vistas: a. Describe sólo parte de la base de datos completa. b. Elimina la complejidad que todavía queda en el nivel lógico debido a la variedad de información almacenada en la BD c. Muchos usuarios no necesitan ver toda la información 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

Upload: christian-jimenez

Post on 09-Feb-2016

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1_Modelo Entidad-Relación

19 de Febrero de 2008 1.3.1 NIVELES DE ABSTRACCIÓN DE LOS DATOS Un de los objetivos de un SMBD es proporcionar a los usuarios una visión abstracta de los datos. Es decir, esconder los detalles de implementación y almacenamiento de los mismos, porque a la mayoría 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 diseñar estructuras de datos complejas para representar los datos de una BD y acceder a ellos rápidamente. Debido a que muchos usuarios de los SMBD no están muy familiarizados con el área de estructuras de datos, administración de archivos, programación, etc., los SMBD han escondido esta complejidad a los usuarios a través de varios niveles de abstracción. Esto simplifica la interacción de los usuarios con el sistema.

a) Nivel físico: a. Es el nivel más bajo de abstracción de datos b. Describe cómo 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 lógico:

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 fáciles de

entender y menos numerosas que las estructuras del nivel físico d. Los usuarios del nivel lógico no se preocupan por la complejidad en el

nivel físico que conlleva la definición de estructuras en el nivel lógico e. Existen muchos modelos y lenguajes para diseñar BD en el nivel lógico f. En este curso se trabajará en el nivel lógico de datos g. Usuarios de los SMBD

i. Administradores de las bases de datos ii. Desarrolladores de aplicaciones

c) Nivel de vistas:

a. Describe sólo parte de la base de datos completa. b. Elimina la complejidad que todavía queda en el nivel lógico debido a la

variedad de información almacenada en la BD c. Muchos usuarios no necesitan ver toda la información 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

Page 2: 1_Modelo Entidad-Relación

Las bases de datos van cambiando a lo largo del tiempo, conforme se agregue, elimine o modifique información. Esquema. El diseño completo de la base de datos. Es raramente modificado. En programación: declaración de variables, considerando tipo de dato asociado Ejemplar. Toda la información almacenada en la base de datos en un momento particular. Cambia constantemente. En programación: los valores de las variables declaradas de un programa Los SMBD tienen varios esquemas divididos de acuerdo a los 3 niveles de abstracción mencionados anteriormente. El esquema físico describe el diseño físico (estructuras de datos, algoritmos para el acceso a ellas), mientras que el esquema lógico define el diseño de la base de datos en el nivel lógico (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 definición de datos (LDD) Especifica el esquema de la base de datos

2) Lenguaje de manipulación de datos (LMD)

Expresar consultas y modificaciones a la base de datos En la práctica estos 2 lenguajes no están separados, sino forman parte de un único lenguaje de base de datos, como SQL. Lenguaje de definición de datos El esquema de una base de datos se especifica mediante definiciones expresadas mediante un LDD. Por ejemplo, la siguiente instrucción en SQL define la tabla cuenta: create table Cuenta(no_cuenta char(10), saldo integer) La ejecución de la instrucción 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 también está a cargo de especificar las restricciones de consistencia sobre los valores de los datos almacenados en la BD, a través de un tipo especial de LDD denominado lenguaje de almacenamiento y definición de datos.

Page 3: 1_Modelo Entidad-Relación

Lenguaje de manipulación de datos La manipulación de datos incluye:

a) La recuperación de información almacenada en la BD b) La inserción de información nueva en la base de datos c) El borrado de información existente en la base de datos d) La modificación de información almacenada en la base de datos

Existen 2 tipos de LMD:

1) Procedimentales. Se especifica qué datos se necesitan y cómo obtenerlos 2) Declarativos o no procedimentales. Sólo se especifica qué datos se necesitan

Los LMDs declarativos son evidentemente más fáciles de aprender. El SMBD determina un método eficiente de acceder a los datos. El componente LMD del lenguaje SQL es declarativo. 1.5.2 ARQUITECTURA DE UNA APLICACIÓN DE SMBD La mayoría de los usuarios de una aplicación de BD no están situados junto al sistema de bases de datos, sino que se conectan a él a través de una red. Podemos distinguir entonces entre las máquinas cliente, en donde trabajan los usuarios remotos de la base de datos, y las máquinas 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 efectúan consultas al SMBD, sin importar si los datos residen localmente o en otra máquina dentro de la red. La comunicación entre la aplicación y el SMBD se efectúa, normalmente, a través de un ODBC o un JDBC. ODBC es un estándar 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 características semejantes pero para el lenguaje Java. Es independiente de la plataforma (Windows, Linux, Macintosh).

Page 4: 1_Modelo Entidad-Relación

Arquitectura de dos capas. 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 efectúan, por lo general, a través de formularios y páginas Web.

Arquitectura de tres capas.

Aplicación / Applet

ODBC / JDBC

Protocolo de comunicación con el SMBD

SMBD

Máquina cliente (Windows, Linux, Macintosh)

Máquina servidor

• La base de datos puede residir localmente o en otra máquina

• El cliente tiene acceso directo a la base de datos a través de consultas

Aplicación / Applet

Controlador ODBC / JDBC

Protocolo de comunicación con el SMBD

SMBD

Máquina cliente (Windows, Linux, Macintosh)

Máquina servidor

• La base de datos reside, por lo general, en otra máquina

• El cliente no tiene control directode la base de datos

• Los drivers ODBC/JDBC residen solamente en el servidor

HTTP / CORBA / RMI / Sockets

Servidor de aplicaciones

Servidor de base de datos

Page 5: 1_Modelo Entidad-Relación

2. MODELO ENTIDAD – RELACIÓN Peter Chen creó el modelo entidad–relación o modelo E-R en 1976, en la publicación de su artículo “The Entity-Relationship Model – Towards a Unified View of Data”. Actualmente no existe un solo modelo estándar E-R que sea comúnmente aceptado; a lo largo de los años 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 Pérez” 2) El proveedor “Telecable” 3) El proveedor “Telcel” 4) La factura 1506 5) El producto “Procesamiento de Bases de Datos. Kroenke. 8va Edición.” 6) La materia “Teoría de la computación”

Existen: clase de entidad, instancia de entidad. Las entidades de determinado tipo de agrupan en clases de entidades. “Juan Pérez” 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.