bases de datos - cecar...

106
DIRECCIÓN DE EDUCACIÓN ABIERTA Y A DISTANCIA Y VIRTUALIDAD LICENCIATURA EN EDUCACIÓN BÁSICA CON ÉNFASIS EN TECNOLOGÍA E INFORMÁTICA BASES DE DATOS

Upload: hanhi

Post on 21-Sep-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

DIRECCIÓN DE EDUCACIÓN ABIERTA Y A DISTANCIA Y VIRTUALIDAD

LICENCIATURA EN EDUCACIÓN BÁSICA CON ÉNFASIS EN TECNOLOGÍA E INFORMÁTICA

BASES DE DATOS

Corporación Universitaria del Caribe - CECAR

TABLA DE CONTENIDO

1.1 Datos.1.2 Tipos de Datos.1.3 Conceptos básicos de Bases de Datos, DBMS, Esquema de datos, Indepen dencia lógica y física de datos.1.4 Historia de los sistemas de bases de datos.1.5 Aplicaciones de los sistemas de bases de datos.1.6 Bases de datos en el contexto de la Educación.1.7 Tipos de Almacenamiento de Bases de Datos. 1.8 Ventajas de un sistema gestor de base de datos.1.9 Tipo de base de datos según su uso. 1.10 Modelos de los datos.

Introducción a las Bases de Datos

I. Introducción

Modelo Entidad-Relación

Modelo Relacional Lenguaje de Consulta Estructurado (SQL)

II. Justificación

1 2

3 4

2.1 Conceptos Básicos del modelo entidad – relación E-R 2.2 Restricciones de integridad en el modelo E–R.2.3 Claves. 2.4 Diagrama Entidad-Relación 2.5 Característica del modelo E-R extendido.2.6 Diseño de un esquema de bases de datos E-R

3.1 Estructura de las bases de datos relacionales.3.2 Esquema de la bases de datos relacional. 3.3 Claves. 3.4 Lenguaje de consulta. 3.5 Transformación del modelo E-R al modelo relacional.

4.1 Introducción al Lenguaje Estructurado de Consulta (SQL).4.2 Estructura básica (clausulas select, from, where).4.3 Modificación de la base de datos (In serción, Borrado, Actualización).4.4 Gestor de base de datos MySql Work bench

III. Instrucciones de Manejo

IV. Referentes Teóricos

CORPORACIÓN UNIVERSITARIA DEL

CARIBE

DIRECCIÓN DE EDUCACIÓN ABIERTA

Y A DISTANCIA Y VIRTUALIDAD

Rectora

Piedad Martínez Carriazo

Vicerrectora Académica

Lidia Flórez de Albis

Compilador

María García Medina

Asesor Pedagógico

Jorge Velasco Lara

Equipo de Edición

Andrés Bertel González

Alberto García Stave

Jairo Martínez Banda

2013

©

Dirección de Educación Abierta y a Distancia y Virtualidad

Información del Compilador

La compiladora del módulo es María Angélica García Medina, Ingeniera de Sistemas, Especialista en Docencia con amplios conocimientos en el manejo de Bases de Datos a nivel organizacional.

En la Ingeniería de Sistema se ha desempeñado como inte-grador de soluciones en las áreas de ingeniería de software,

ingeniería de planeación informática e ingeniería de redes.

También se ha desempeñado como docente en la División de Educación Abier-ta y a Distancia de CECAR.

Corporación Universitaria del Caribe - CECAR

I. Introducción

Los datos son la parte medular de cualquier sistema de información. El almacenamiento, manipulación y recuperación de información en forma eficiente, es vital y estratégico para cualquier organización. Las bases de datos juegan un rol muy importante en casi todas las áreas donde las computadoras son usadas, incluyendo negocios, ingeniería, medici-na, leyes, educación, etc.

La importancia e impacto de las bases de datos es incuestionable a medida que las orga-nizaciones ya sean gubernamentales, instituciones educativas, universidades, entidades comerciales, entre otras, crean y mantienen bases de datos en la cuales estén conteni-das todo tipo de información, desde documentos, tablas estadísticas, datos financieros, objetos multimediales y datos de diferente naturaleza. Por tal motivo, las tecnologías en base de datos, incluyendo métodos de arquitectura y acceso, se están desarrollando rá-pidamente para mantenerse al día con esta demanda de mecanismos de administración de la información. El objetivo principal de este módulo es brindar a los estudiantes un acercamiento a los aspectos importantes manejado en las bases de datos, como son los conceptos básicos, las técnicas utilizadas para la creación y utilización de las bases de datos, para que así adquiera la capacidad de construir algo tangible que pueda aplicar como profesional.

El módulo está organizado en cuatro unidades, distribuidas de la siguiente forma:

Unidad I: Introducción a las bases de datos, en la cual se exponen los conceptos bási-cos manejados en las bases de datos, se incluye un poco de historia sobre los sistemas de base de datos, donde se aplican, los tipos de almacenamiento de base de datos, los tipos según su uso, las ventajas de los SGBD y las bases de datos en el contexto de la educación.

Unidad II: Modelo Entidad – Relación, es una de las partes principales a tratar dentro del módulo ya que en ella se efectúa el análisis de cómo se diseña una base de datos, los temas a tratar abarcan los conceptos básicos de entidades, relaciones, atributos; las correspondencia de cardinalidades, restricciones de participaciones, claves, diagramas del modelo entidad – relación y diseño del esquema del modelo Entidad – Relación.

Unidad III: Modelo Relacional, el cual es un marco formal de los modelos de datos, en este capítulo se trata la estructura de las bases de datos relacionales, esquema de la bases de datos relacional, uso de las claves, lenguaje de consulta y transformación del modelo E-R al modelo relacional.

Dirección de Educación Abierta y a Distancia y Virtualidad

Unidad IV: Esta última unidad, es dedicada al manejo del lenguaje SQL, en el cual se presentan las características generales del SQL, su estructura básica, utilización de las clausulas select, from y where y modificación de la base de datos utilizando las expresio-nes Insert, Delete, Update.

Al finalizar la última unidad, está la sección de anexos en la cual se encuentra los manua-les de usuarios de las herramientas utilizadas para la diagramación del modelo entidad – relación y el modelo relacional, direcciones electrónicas correspondientes para que el estudiante pueda descargar estas herramientas freeware, también se dispone de una serie de link para profundizar los temas tratados en el módulo.

I. Introducción

Corporación Universitaria del Caribe - CECAR

II. Justificación

El desarrollo de la tecnología aplicada a la información, especialmente ligada a las comu-nicaciones, ha logrado un alto y rápido desarrollo se puede encontrar un nivel de imple-mentación elevado en todos los ámbitos de la vida actual, tanto laboral como doméstica. En los sectores en los que más se desenvuelve el ser humano siempre están presentes para mejorar su desarrollo y/o productividad: industria, comercio, educación, finanzas, investigación, etc. Es por ello que el uso correcto de las tecnologías resulta ser un factor determinante para alcanzar altos niveles de eficiencia y competitividad en el ámbito de la empresa o incluso en el personal.

El acercamiento de los futuros Licenciados en Educación Básica con Énfasis en Tec-nología e Informática a los aspectos más importantes que se encierra en un Sistema de Base de Datos, les darán las herramientas, competencias y habilidades necesarias para que le ayuden a construir algo tangible desde la construcción de bases de datos vista como aquel sistema de información que organiza y que forma parte de un programa de ordenador que pueda seleccionar rápidamente los fragmentos de datos que necesite un usuario cualquiera, una base de datos es un sistema de archivos electrónico que se pue-da aplicar a su vida profesional.

Esto se podrá alcanzar a través de la fundamentación teórico – práctica de las bases de datos, modelos de datos y el manejo del lenguaje de consulta estructural, lo cual le ayudará a desarrollar pequeñas bases de datos que serán de utilidad en su quehacer pedagógico, contribuyendo al desarrollo de competencias del saber hacer; además, con el ejercicio de ésta, la consolidación de habilidades de saber analizar y saber comuni-car, acciones que contribuirán a promover el desarrollo del pensamiento reflexivo, como expresión de la autonomía profesional, con lo cual se establece su pertinencia con los propósitos de formación del programa.

Las competencias que promueve la asignatura son:

METACOGNITIVAConoce y utiliza herramientas informáticas para el diseño e implantación de una base de datos en el ámbito escolar.

RELACIONALAplica los conocimientos obtenidos a situaciones laborales concretas utilizando los pro-cedimientos adecuados, para solucionar problemas de manera autónoma y transferir las situaciones adquiridas a situaciones novedosas.

Dirección de Educación Abierta y a Distancia y Virtualidad

TECNOLÓGICAUtiliza los principios básicos de los sistemas de base de datos, para utilizarlos en el con-texto educativo.

ARGUMENTATIVAArgumenta y justifica el porqué de los modelos a utilizar en la solución de problemas prác-ticos específicos de las diferentes áreas de actividad de su profesión utilizando lenguaje y simbología apropiados para las representaciones que requiera.

II. Justificación

Corporación Universitaria del Caribe - CECAR

III. Instrucciones de Manejo

Para el desarrollo exitoso de este módulo es importante el ritmo y secuenciación del trabajo autodirigido, de tal forma que puedas trabajarlo en casa y posteriormente sociali-zarlo en clases con tu profesor, pero para ello debes tener disponibilidad de tiempo, alto grado de responsabilidad e iniciativa con cada una de las actividades programadas.

También cabe destacar, que la información consignada en el módulo puede ser ampliada para que usted enriquezca los conceptos que se desarrollan a lo largo del módulo, por lo tanto se le recomienda que consulten las citas referenciadas en la bibliografía.

»Considere el módulo como una herramienta que le permitirá fortalecer sus conoci-mientos sobre las Bases de Datos.

»Lea y estudie cada uno de los temas con anticipación a la sesión con el tutor, para que llegue con inquietudes y se genere la discusión a partir de estas.

»La constitución de grupos de estudio, que se han denominado CIPAS, es altamente recomendable, dado que no todos asimilan de la misma manera, por tal razón es conveniente concretar con otros compañeros algunos puntos clave de las lecturas y análisis de la información del módulo. Además es importante analizar cada uno de los puntos de vistas de los integrantes del CIPA, el cual nos ayudará a afianzar y enriquecer nuestra propia comprensión sobre los temas desarrollados en el módulo.Complete sus actividades propuestas en cada una de las unidades apoyándose en los referentes bibliográficos que encuentras al final de la unidad IV y también en sitios web relacionados con los temas tratados en cada unidad.

»En el desarrollo de las unidades del módulo se ejemplificará la base de datos del ob-servador del estudiante, este ejemplo de base de datos se retomará en un módulo de semestres próximos.

» Utilice la bibliografía recomendada para realizar las diferentes actividades y afianzar los conceptos estudiados en el módulo.

Dirección de Educación Abierta y a Distancia y Virtualidad

IV. Referentes Teóricos

Las conceptualizaciones del módulo están fundamentadas en los aportes teóricos que se han compilado por la autora en la fundamentación del diseño de base de datos, como lo son:

C. J. Date, en su libro introducción a los sistemas de bases de datos, 7ª ED., se ha tenido encuenta el modelo y la sintaxis y la semántica de SQL. Adoración de Miguel y Mario Piattini, en su libro Fundamentos de Base de datos, 2ª Edi-ción, en los cuales exponen la historia de las bases de datos, los conceptos básicos de base de datos, el modelo entidad – relación y el modelo relacional, que son el objeto de estudio del presente modulo.

Silberschatz, Korth y Sudarshan (2007), con temas más actuales sobre los fundamentos de bases de datos, y la ejemplificación de los modelos Entidad – relación, relacional y el lenguaje estructurado de consulta.

González (2011), en su libro Gestión de base de datos, en el cual destaca los aspectos más importantes que encierran los sistemas gestores de base de datos relacionales.

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

Estructura del Módulo

Introducción a las Bases de Datos

Unidad

1

Corporación Universitaria del Caribe - CECAR

PRESENTACIÓN

En esta primera unidad se presenta la introducción a las bases de datos, en la cual se realiza la conceptualización sobre los tipos de datos que se utilizan en la creación de una base de datos, al mismo tiempo se dan a conocer los conceptos básicos de Bases de Datos, la DBMS, los esquema de datos, Independencia lógica y física de datos; se hace una breve introducción sobre la historia de los sis-

temas de bases de datos, aplicaciones de los sistemas de bases de datos, se dan a conocer cuáles son las bases de datos en el contexto de la educación, cuales son los tipos de almacenamiento de Bases de Datos, Ventajas de un sistema gestor de base de datos; los tipos de base de datos según su uso, y conceptualización de los modelos de los datos, y su clasificación. La finalidad de esta primera unidad es que el estudiante aprenda qué son las bases datos y cada uno de los elementos que hacen parte de ésta y al mismo tiempo comprenda la importancia que tiene ella en cualquier ámbito donde sean utilizadas.

PROBLEMA

¿Cómo puedo fundamentar mi conocimiento teórico acerca de las ba-ses de datos?

Introducción a las Bases de Datos

Bases de Datos

13

Dirección de Educación Abierta y a Distancia y Virtualidad

COMPETENCIAS ESPECÍFICAS

»Interpreta y maneja las diferentes conceptualizaciones utili-zadas en las bases de datos y como se relacionan entre ellas. Identifica las diferentes evoluciones que han tenido las bases de datos a lo largo de los años.

» Argumenta sobre la importancia de las bases de datos en la educa-ción.

» Identifica los diferentes tipos de almacenamientos de un sistema de base de datos.

»Identifica y explica los diferentes modelos de datos.

14

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

ACTIVIDAD PREVIA: Trabajo independiente

»Antes de comenzar la lectura de esta primera unidad responda de manera escrita los siguientes interrogantes:

¿Qué son datos? ¿Cuáles tipos de datos conoce? ¿Qué es una base de datos? ¿Qué es un SMBD?» Liste al menos cuatro términos que usted conozca relacionados con el tema de

base de datos y explíquelos. ¿Qué es un modelo? ¿Qué bases de datos educativas conoce?

»Lea detenidamente la unidad I.»Una vez leída la unidad, confronte sus saberes previos con lo aprendido en la unidad.»Analice detenidamente los temas tratados en la unidad y elabore un síntesis general

sobre ésta.

ACTIVIDAD EN GRUPO

»Reunidos en sus grupos confronte sus saberes previos con los de sus compañeros.»Socializar en el grupo los diferentes temas tratados en la Unidad I.»Desarrollar la actividad propuesta al final de la unidad.

DINÁMICA PARA CONSTRUIR CONOCIMIENTO

Dirección de Educación Abierta y a Distancia y Virtualidad

16

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

1.1 ¿QUÉ SON DATOS?

Según diccionario de la real academia, los datos son la Información dispuesta de ma-nera adecuada para su tratamiento por un ordenador. A nivel de la terminología de

base datos, un dato es una representación simbólica (numérica, alfabética, algorítmica, entre otros) de un atributo o característica de una entidad. Estos se pueden representar bien mediante variables o mediante constates.

1.2 TIPOS DE DATOS.

Los tipos de datos se utilizan generalmente para declarar variables y son necesarios para que el intérprete o compilador conozca de antemano que tipo de información va a contener una variable.

Existen cinco tipos de datos atómicos, los cuales son: carácter, entero, coma flotante, coma flotante doble precisión y sin valor (char, int, float, double y void, respectivamente). El tamaño y el rango de estos tipos de datos varían con cada tipo de procesador.

En cuanto a los tipos de datos empleados en el lenguaje estructurado de consultas SQL, se clasifican en 13 tipos de datos primarios y de varios sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son:

Tipo de Datos Longitud Descripción

BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario.

BIT 1 byte Valores Si/No ó True/False

BYTE 1 byte Un valor entero entre 0 y 255.

COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long)

CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807.

DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y 9999.

SINGLE 4 bytes Un valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.

Bases de Datos

17

Dirección de Educación Abierta y a Distancia y Virtualidad

DOUBLE 8 bytes Un valor en punto flotante de doble precisión con un rango de - 1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores positivos, y 0.

SHORT 2 bytes Un entero corto entre -32,768 y 32,767.

LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.

LONGTEXT 1 byte por carácter

De cero a un máximo de 1.2 gigabytes.

LONGBI-NARY

Según se necesite

De cero 1 gigabyte. Utilizado para objetos OLE.

TEXT 1 byte por carácter

De cero a 255 caracteres.

La siguiente tabla recoge los sinónimos de los tipos de datos definidos:

Tipo de Dato Sinónimos

BINARY VARBINARY

BIT BOOLEAN LOGICAL LOGICAL1 YESNO

BYTE INTEGER1

COUNTER AUTOINCREMENT

CURRENCY MONEY

DATETIME DATE TIME TIMESTAMP

SINGLE FLOAT4 IEEESINGLE REAL

Tipo de Datos Longitud Descripción

18

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

DOUBLE FLOAT FLOAT8 IEEEDOUBLE NUMBER NUMERIC

SHORT INTEGER2 SMALLINT

LONG INT INTEGER INTEGER4

LONGBINARY GENERAL OLEOBJECT

LONGTEXT LONGCHAR MEMO NOTE

TEXT ALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR

VARIANT (No Admitido) VALUE

1.3. CONCEPTOS BÁSICOS

1.3.1. ¿Qué es una base de datos?

Las bases de datos han evolucionado contantemente y es difícil dar una definición, esto se debe al amplio ámbito de aplicaciones y los avances en la tecnología.Una definición adecuada puede ser : “Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es también un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicaciones”. Citada en González (2011).

Otra definición es la dada por Date (2001), el cual enuncia que una base de datos es una colección de datos relacionados que representa un cierto modelo o abstracción del mun-do real, y a su vez esta es diseñada, construida y llenada con datos para un propósito específico. Al mismo tiempo las bases de datos tienen propiedades específicas las cuales son:

Bases de Datos

19

Dirección de Educación Abierta y a Distancia y Virtualidad

»Representa algún aspecto del mundo real, del cual provienen los datos.»Es un conjunto de datos lógicamente coherente, con significado implícito.»Toda base de datos se diseña, crea y se carga con datos con un objetivo determinado

y está dirigida a un grupo de usuarios interesados en el contenido de la base de datos.

1.3.2 ¿Qué es el DBMS?

El DBMS (Data Base Management Sywstem) o SGBS (Sistema Gestor de Bases de da-tos), consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. El objetivo del DBMS es crear un ambiente en que sea po-sible almacenar y recuperar información en forma eficiente y conveniente.

La gestión de los datos implica tanto la definición de estructuras para almacenar la infor-mación como la provisión de los mecanismos para la manipulación de la información, al mismo tiempo deben proporcionar la fiabilidad de esta a pesar de las caídas del sistema o los intentos de acceso sin autorización. Ahora bien, si los datos van a ser compartidos entre varios usuarios, el sistema debe evitar los resultados anómalos. Podemos apreciar cómo es el funcionamiento de un DBMS en la figura 1.

figura 1.

20

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

Los componentes que hacen parte de un DBMS son:

»DDL, Data Definition Language: define los elementos de los datos en la Base de da-tos. Permite crear tablas, modificarlas y eliminarlas.

»DML, Data Manipulation Languaje: manipula los datos para aplicaciones. Permite dar de alta filas, modificar contenido de columnas y borrar filas y columnas.

»DCL, Data Control Language: lenguaje de control de datos. Permite administrar la seguridad de quien puede leer, escribir o borrar datos en una tabla; quién puede crear o eliminar tablas, etc.

1.3.3 Esquema de datos1

El esquema de una base de datos (en inglés, Database Schema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla.

El esquema es generalmente almacenado en un Diccionario de Datos. Aunque gene-ralmente el esquema es definido en un lenguaje de Base de datos, el término se usa a menudo para referirse a una representación gráfica de la estructura de base de datos.

1 Recuperado de: http://es.wikipedia.org/wiki/Esquema_de_una_base_de_datos

Bases de Datos

21

Dirección de Educación Abierta y a Distancia y Virtualidad

1.3.4 Independencia de los datos

Es la libertad que puede existir para modifi-car algunos de los esquemas sin que exista la necesidad de reescribir los programas de aplicación. Existen básicamente dos tipos de independencia:

»Independencia física: Se presenta cuando es posible la modificación del esquema físico sin afectar a los esque-mas restantes. Actúa en los contenidos de la base de datos.

»Independencia lógica. Ocurre cuando se modifica el esquema conceptual sin afectar al resto de los esquemas. Bási-camente se modifica el esquema con-ceptual cuando cambia las caracterís-ticas de los datos a almacenar. Actúa sobre la estructura de la base de datos.

1.4 HISTORIA DE LOS SISTEMAS DE BASES DE DATOS.

El nacimiento de las bases de datos se im-pulsa por el crecimiento de las computa-doras, de hecho la automatización de las tareas de procesamiento de daros precede a los computadores, es así que la Máquina perforadora Herman Hollerit (1860-1929), fue utilizada para hacer el censo de Esta-dos Unidos en 1880 y se tardaron 7 años para obtener resultados.

La historia de las bases de datos se genera a partir de la evolución que han tenido es-tos, la cual se detalla a continuación:

� Década de 1950 y principios de la década de 1960. Se da origen a las cintas magnéticas. Por medio de este mecanismo se empezó a automatizar la información de

las nóminas, como por ejemplo el aumen-to de salario. Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de Backup.

� Finales de la década de 1960 y la década de 1970. El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los da-tos en los discos, ya que en milisegundos era recuperable la información. � Los discos dieron inicio a las Bases

de Datos, de red y jerárquicas, pues los programadores con su habilidad de mani-pulación de estructuras junto con las ven-tajas de los discos era posible guardar es-tructuras de datos como listas y árboles. En 1970, cuando E.F. Codd de IBM introdujo la idea de un modelo relacional de Bases de datos en un documento titulado “A Relatio-nal Model of data for Large Shared Banks”.

� Década de 1980. Bases del Modelo E-R»Abstraer la representación de datos.»Minimizar la redundancia de datos, divi-

diéndolos en distintos grupos no dupli-cados.

»Incrementar la consistencia de datos, por ejemplo si se cambia el nombre de un cliente, este cambiara en todos los reportes.

22

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

Posteriormente un lenguaje llamado SQL (Lenguaje estructurado de consultas) tam-bién desarrollado por IBM, fue creado para generar reportes y actualizar datos en este nuevo modelo relacional. El Sistema R de IBM nació de este trabajo, pero fue ignora-do por IBM, y poco después Oracle saco su versión comercial de BD basada en la teo-ría relacional de Codd, y el Berkely Ingres.

� Década de 1990. El lenguaje SQL se diseñó fundamentalmente para las aplicaciones de ayuda a la toma de deci-siones, que son intensivas en consultas, mientras que el objetivo principal de las ba-ses de datos en la década de 1980 de las aplicaciones de procesamiento de transac-ciones, que son intensivas en actualizacio-nes. En esta época las herramientas para analizar grandes cantidades de datos ex-perimentaron un gran crecimiento de uso.

� Finales de la década de 1990. El acontecimiento principal fue el crecimiento de la WWW. Al mismo tiempo las bases de datos se implementaron mucho más exten-sivamente. Los sistemas de bases de datos tienen soporte para tasa de transacciones muy altas. Se generan sistemas de base de datos con interfaz web.

1.5 APLICACIONES DE LOS SIS-TEMAS DE BASES DE DATOS.

Las bases de datos son ampliamente usa-das. Las aplicaciones más representativas de bases de datos según Silberschatz, Kor-th, Sudarshan (2002) son:

»Banca: para información de clientes, cuentas y préstamos, y transacciones bancarias.

»Líneas Aéreas: para reservas e infor-mación de planificación. Estas fueron las primeras en utilizar las bases de da-tos de forma distribuida geográficamen-te.

»Universidades: para información de los estudiantes, matriculas de las asignatu-ras y cursos.

»Transacciones de tarjetas de crédito: para compras con tarjetas de crédito y generación mensual de extractos.

»Telecomunicaciones: para guardar re-gistros de las llamadas realizadas, generación mensual de facturas, man-teniendo el saldo de las tarjetas tele-fónicas de prepago y para almacenar información sobre las redes de comuni-caciones.

»Finanzas: para almacenar informa-ción sobre grandes empresas, ventas y compras de documentos formales fi-nancieros, como bolsas y bonos.

»Ventas: para información de clientes, productos y compras.

»Producción: para la gestión de la cade-na de producción y para el seguimiento de la producción de elementos en las factorías, inventarios de elementos de almacenes y pedidos de elementos.

»Recursos humanos: para información sobre los empleados, salarios, impues-tos y beneficios, y para la generación de las nóminas

Por tanto, podemos afirmar que los siste-mas de bases de datos forman una parte importante en casi todas las empresas ac-tuales.

Bases de Datos

23

Dirección de Educación Abierta y a Distancia y Virtualidad

1.6 BASES DE DATOS EN EL CONTEXTO DE LA EDUCACIÓN.

En el Campo de la Educación podemos utilizar diversas Bases de Datos para buscar in-formación. En este apartado hemos reseñado tan sólo aquellas que son accesibles des-de Internet y las presentamos clasificadas en dos grupos: las que proporcionan informa-ción directa sobre Sistemas Educativos y las que nos proporcionan información menos específica aunque valiosa para los docentes e investigadores en este campo.

RENATA

RENATA es la red de tecnología avanzada que conecta, comunica y propicia la colaboración entre las instituciones académicas y científicas de Colombia con las redes académicas internacionales y los centros de investigación más desa-rrollados del mundo. http://www.renata.edu.co/

ProQuest

Compañía editorial con sede en Ann Arbor, Michigan, que publica en formatos electrónicos y microfilm y suministra servicios de información para universida-des, escuelas, empresas públicas, corporaciones y bibliotecas públicas en todo el mundo, fundamentalmente bases de datos bibliográficas. http://www.proquest.com.br/es-XL/

EurybaseInformación sobre Sistemas Educativos Europeos habitualmente en el idioma del país y en inglés. http://eacea.ec.europa.eu/education/eurydice/eurypedia_en.php

International Asso-ciation of Universi-ties

Contiene descripciones en formato RTF de los Sistemas de Educación Superior de 174 países. http://www.iau-aiu.net/

Observatorio de la Educación Ibe-roamericana

El Observatorio debe entenderse como un productor de sentidos y como un generador de rutas posibles que a su vez incorpora múltiples y diversas mira-das que hoy existen en la Región y que constituyen el pensamiento educativo Iberoamericano. http://www.oei.es/observatorio.htm

OCDE - Education Database

Esta Base de Datos de la OCDE proporciona información comparable inter-nacionalmente sobre aspectos claves de los Sistemas Educativos. http://www.oecd.org/

PISA-OCDE Las Bases de Datos pisa de la OCDE proporcionan información y tablas sobre los distintos apartados del programa. http://pisa2000.acer.edu.au/index.php

PloteusEs el portal que le informa de las oportunidades de aprendizaje en todo el es-pacio europeo, le ayudará a conocer la oferta de educación y formación en toda Europa. http://ec.europa.eu/ploteus/home_es.htm

Sistemas Educati-vos

Base de datos creada por el CREADE (Centro de Recursos para la Atención a la Diversidad Cultural en Educación) del Ministerio de Educación y Ciencia. http://www.oei.es/quipu/

SITEAL

La base de datos del SITEAL se propone: brindar información comparable entre los países de América Latina sobre la relación entre educación y sociedad que posibilite el análisis de tendencias y el monitoreo de la situación y evolución de las brechas sociales. Es necesario registrarse para su uso. http://www.siteal.iipe-oei.org/

UNESCO Indicadores Educativos. Global Monitoring Report. http://gmr.uis.unesco.org/se-lectIndicators.aspx

Base de Datos Mundial sobre desigualdades en Educación (WIDE)

Permite la comparación de distintos tipos de desigualdades -por nivel de ingre-sos, por género y por lugar de residencia- entre países y en el interior de éstos, y proporcionará además indicadores esenciales relativos a la enseñanza. http://www.education-inequalities.org/

24

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

1.7 TIPOS DE ALMACENAMIENTO DE UNA BASES DE DATOS.

La mayoría de las bases de datos se alma-cenan en las llamadas memorias secunda-rias, especialmente discos duros, aunque, en principio, pueden emplearse también discos ópticos, memorias flash, etc2.

Las razones por las cuales las bases de datos se almacenan en memorias secundarias son:

»En general, las bases de datos son de-masiado grandes para entrar en la me-moria primaria.

»La memoria secundaria suele ser más barata que la memoria primaria.

»La memoria secundaria es más útil para el almacenamiento de datos permanen-te, puesto que la memoria primaria es volátil.

»En cuanto al respaldo de las bases de datos, suelen emplearse tantos discos duros, discos ópticos.

Técnicas de almacenamiento y recupera-ción de bases de datos: Las técnicas em-pleadas para almacenar bases de datos son sumamente importantes para la velo-cidad de acceso y recuperación de datos. Las técnicas dependen del tipo de almace-namiento, el uso que se le da o se le dará a la base de datos, la estructura de la misma, el SGBD empleado, etc.

Esta dependencia no significa necesaria-mente que haya que cambiar la estructura de la base de datos si se cambian las téc-nicas empleadas. Las técnicas de almace-namiento son independientes de la base de datos, pero, de todas maneras, las mejo-

2 Recuperado de: http://www.alegsa.com.ar/Dic/almacenamiento%20de%20bases%20de%20datos.php

res técnicas muchas veces pueden deter-minarse viendo la estructura de la base de datos, entre otras características.

Los encargados de elegir estas técnicas son los diseñadores y administradores de bases de datos, y dependen también de las capacidades del SGBD. La idea es que los encargados de la base de datos encuen-tren las técnicas idóneas, o sea, aquellas que permitan la mayor velocidad posible de acceso a los datos.

El almacenamiento en archivos de las ba-ses de datos, Las bases de datos se alma-cenan en ficheros o archivos. Existen dife-rentes formas de organizaciones primarias de archivos que determinan la forma en que los registros de un archivo se colocan físicamente en el disco y, por lo tanto, cómo se accede a éstos. Las distintas formas de organizaciones primarias de archivos son:»Archivos de montículos (o no ordena-

dos): esta técnica coloca los registros en el disco sin un orden específico, añadiendo nuevos registros al final del archivo.

»Archivos ordenados (o secuenciales): mantiene el orden de los registros con respecto a algún valor de algún campo (clave de ordenación).

»Archivos de direccionamiento calcula-do: utilizan una función de direcciona-miento calculado aplicada a un campo específico para determinar la coloca-ción de los registros en disco.

»Árboles B: se vale de la estructura de árbol para las colocaciones de regis-tros.

Existe una segunda forma de acceder a los datos llamada organización secundaria o estructura de acceso auxiliar. Estas permi-

Bases de Datos

25

Dirección de Educación Abierta y a Distancia y Virtualidad

ten que los accesos a los registros de un archivo basado en campos alternativos, sean más eficientes que los que han sido utilizados para la organización primaria de archivos.

1.8 VENTAJAS DE UN GESTOR DE BASE DE DATOS.

Dentro de las ventajas que ofrece el SGBD encontramos:»Datos compartidos actualizados: los

datos están disponibles para todos los usuarios y cuando alguno actualiza, los cambios se ven reflejados inmediata-mente.

»Flexibilidad: para nuevas necesidades, los cambios de estructura no afectan los datos.

»Rápida creación de nuevas aplicacio-nes: una vez creada la BD y funcionan-do, crear una nueva aplicación necesita menos tiempo.

»Independencia de los datos: ocultan detalles de implementación.

1.9 TIPO DE BASE DE DATOS SE-GÚN SU USO.

“Las bases de datos están en continua evolución tecnológica y lo que antes re-quería tecnología separada de las pro-pias bases de datos, ahora se integra dentro de las presentaciones normales de las bases de datos relacionales de mayor auge en el mercado” González (2011).

A continuación algunos tipos de base de datos según su uso:

»Base de datos documentales: Se en-carga de almacenar documentos de di-versas naturalezas (predominantemen-te textos, pero también planos, hojas de cálculos, fotografías, documentos digitalizados mediante escáner, etc.).

»Base de datos geográficas o sistemas de información geográfica (SIG): alma-cena datos vectoriales sobre puntos geográficos, superficies regulares o irregulares, volúmenes, etc., asocia-dos a valores estadísticos empleando sistemas de coordenadas geográficas o UTM (propias de los sistemas de po-sicionamiento global o GPS). Este tipo de base de datos ofrecen información sobre territorios, tales como estadís-ticas, demográficas, meteorológica, ventas de productos o cálculos sobre terrenos, tales como solapamiento de superficies, distancias entre puntos, cálculo de rutas, etc.

»Base de datos OOP (orientada a ob-jetos): nuevas bases de datos relacio-nales para establecer mecanismos de almacenamiento de objetos de longitu-des indeterminadas que sean capaces de encapsular métodos en su interior.

»Minería de datos: son bases de datos pensadas para obtener estadísticas y tendencias de negocios. La finalidad de estas bases de datos es la detec-ción de tendencias para agrupar tipos de clientes y utilizar de forma retroali-mentada esta información para mejorar el negocio.

»Base de datos transaccionales (OLTP): son bases de datos orientadas a bloques de transacciones masivas, para clien-tes tales como entidades bancarias, instituciones bursátiles o mayoristas de ventas. Se caracterizan por su alto ren-dimiento, alta disponibilidad y prepara-ción contra contingencias catastróficas.

26

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

1.10 MODELOS DE LOS DATOS.

1.10.1 Definición de un modelo de datos.

En la estructura de la base de datos se en-cuentra el modelo de datos, el cual es de-finido por:Date (2001) como “Un modelo de datos es una definición lógica, independiente y abstracta de los objetos, operadores y demás que en conjunto constituyen la máquina abstracta con la que interac-túan los usuarios. Los objetos nos per-miten modelar la estructura de los datos. Los operadores nos permiten modelar su comportamiento”.

También se puede definir como:

“Una colección de herramientas concep-tuales para describir los datos, las rela-ciones, la semántica y las restricciones de consistencia”, Silberschatz, Korth, Sudarshan (2002).

“Arquitectura organizativa que impone un esquema de acceso a los datos” González (2011).

Los diferentes modelos de datos que se han propuestos se clasifican en modelo en-tidad-relación, modelo relacional que son los que se estudiaran en el presente mo-dulo, aparte de estos encontramos los mo-delos lógicos basados en objetos, modelos lógicos basados en registros y modelos fí-sicos.

1.10.2 Clasificación de los mode-los de datos.

1.10.2.1 Modelo Entidad–Relación (E-R)

Está basado en una percepción del mundo real que consta de una colección de obje-tos básicos llamados entidades y relacio-nes entre estos objetos, implementándose en forma gráfica a través del Diagrama En-tidad Relación.

1.10.2.2 Modelo Relacional

Se basa en el concepto matemático de re-lación. En este modelo, la información se representa en forma de “tablas” o relacio-nes, donde cada fila de la tabla se interpreta como una relación ordenada de valores (un conjunto de valores relacionados entre sí).

1.10.2.3 Modelo de datos orientado a objetos

Este modelo se puede observar como una extensión del modelo E-R con las nociones de encapsulación, métodos (funciones) e identidades de objeto.

1.10.2.4 Modelo jerárquico

Fue el primer modelo realmente operativo de base de datos, este modelo se sigue empleando en sistemas main frame, princi-palmente en sistemas IBM. En este modelo se tiene una entidad o tabla como punto de partida de todos los datos, a partir de esta, se ramifican el camino para acceder al res-to de los datos que precisamos.

Bases de Datos

27

Dirección de Educación Abierta y a Distancia y Virtualidad

1.Realice una síntesis de los temas estudiados en esta primera unidad.

2.Consulte los diferentes manejadores de base de datos que existen en el mercado y realice un mapa conceptual.

3.Realice un cuadro comparativo entre los modelos de datos.

4. Consulte sobre las bases de datos documentales y las bases de datos relacionales modernas y luego responda la siguiente pre-gunta: ¿Podemos integrar una base de datos documental dentro de una base de datos relacional moderna? Justifique su respuesta.

5.¿Qué tipo de usuarios interaccionan con una base de datos?

ACTIVIDAD

1.10.2.5 Modelo en red

Conocido como modelo CODASYL (Conference on Dat System Language), conforma-da por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional.

28

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

1. Es una representación simbólica de un atributo o característica de una entidad.a) Base de datosb) Datosc) Tipo de datos

2. Se utilizan generalmente para declarar variables y son necesarios para que e interprete o compilador conozca de antemano que tipo de información va a contener una variable.a) Base de datosb) Datosc) Tipo de datos

3. Las bases de datos se pueden definir como:a) Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es también un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicacionesb) Colección de datos relacionados que representa un cierto modelo o abstracción del mundo real, y a su vez esta es diseñada, construida y llenada con datos para un propósito específico.c) A y B, son correctas

4. Consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos.a) DBMSb) DDLc) DCL

5. Describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datosa) Independencia Físicab) Independencia Lógicac) Esquema de datos

6. Es la libertad que puede existir para modificar algunos de los esquemas sin que exista la necesidad de reescribir los programas de aplicación. a) Esquema de datosb) Independencia lógicac) Independencia física

7. Se presenta cuando es posible la modificación del esquema físico sin afectar a los esquemas restantes. Actúa en los contenidos de la base de datos.a) Independencia lógicab) Esquema de datosc) Independencia física

AUTOEVALUACIÓN

Bases de Datos

29

Dirección de Educación Abierta y a Distancia y Virtualidad

8. Ocurre cuando se modifica el esquema conceptual sin afectar al resto de los esquemas. Básicamente se modifica el esquema conceptual cuando cambia las características de los datos a almacenar. Actúa sobre la estructura de la base de datos.a) Esquema de base de datosb) Independencia lógicac) Independencia física

9. Las técnicas de almacenamiento de datos han evolucionado a lo largo de los años, en la década de 1980, esta evolución se basó en:a) El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. b) Abstraer la representación de datos. Minimizar la redundancia de datos, dividiéndolos en distintos grupos no duplicados.c) Diseña SQL que es fundamentalmente para las aplicaciones de ayuda a la toma de decisiones, que son intensivas en consultas.

10. Se puede definir el modelo de datos como:a) Una colección de herramientas conceptuales para describir los datos, las relaciones, la semántica y las restricciones de consistencia.b) Una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos.c) Una Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es también un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicaciones.

30

Introducción a las Bases de Datos

Corporación Universitaria del Caribe - CECAR

Modelo Entidad - Relación M - E - R

Unidad

2

32

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

PRESENTACIÓN

En la presente unidad abarcaremos la metodología del diseño de las base de datos, el cual está conformado por tres etapas las cua-les son: diseño conceptual, diseño lógico y diseño físico. El diseño conceptual es el proceso por el cual se construye un modelo de la información que se utiliza en una empresa u organización, inde-pendientemente del SMBD que se vaya a implementar el sistema

y de los equipos informáticos o cualquier otra consideración física. El modelo conceptual permite describir la realidad mediante representaciones lingüística y gráficas, al mismo tiempo este modelo tiene propiedades de expresividad, simplicidad, minimalidad y formalidad. El modelo conceptual más utilizado es el modelo Entidad – Relación que ma-neja los siguientes conceptos: entidades, relaciones, atributos; además se es-tudiara las restricciones en el modelo E-R, claves, diagramación del modelo E-R, características del modelo E-R extendido (Especialización, generaliza-ción y agregación) y por ultimo diseño de un esquema de base de datos E-R en el cual se tendrá en cuenta la metodología del diseño conceptual E-R.Para la diagramación de cada uno de los ejemplos y actividades propuestas se utilizará las herramientas open source DIA, de la cual se da una explicación en el anexo I ubicado al finalizar la última unidad del módulo.

PROBLEMA

¿Qué acciones debo realizar para el diseño y la estructura de una base de datos, teniendo encuenta el modelo entidad – relación?

Bases de Datos

33

Dirección de Educación Abierta y a Distancia y Virtualidad

COMPETENCIAS ESPECÍFICAS

»Explica la importancia de una metodología y un modelo para el dise-ño de base de datos.

»Clasifica los diferentes modelos de datos manejados en las bases de datos.

»Identifica los elementos utilizados en un modelo entidad – relación y hace buen uso de ellos.

»Ilustra el concepto de cardinalidad y lo pone en práctica e indica la importancia de la cardinalidad en el modelo entidad – relación.

»Interpreta y diseña un esquema del modelo entidad – relación si-guiendo la metodología de diseño conceptual para diseñar de una base de datos.

34

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

ACTIVIDAD PREVIA: Trabajo independiente

»Antes de comenzar la lectura de esta segunda unidad responda de manera escrita lo que usted entiende por:

Modelo de datos. ¿Qué es una entidad, atributo y relación? ¿Qué es cardinalidad? ¿Qué es una clave? ¿Qué entiendes por modelo entidad – relación?

»Lea detenidamente la unidad II.»Una vez leída la unidad, confronte sus saberes previos con lo aprendido en la unidad.»Analice detenidamente los temas tratados en la unidad y elabore un análisis general

sobre esta.

ACTIVIDAD EN GRUPO

»Reunidos en sus grupos confronte sus saberes previos con los de sus compañeros.»Socializar en el grupo los diferentes temas tratados en la Unidad II.»Desarrollar las actividades propuestas en cada apartado.

DINÁMICA PARA CONSTRUIR CONOCIMIENTO

Bases de Datos

35

Dirección de Educación Abierta y a Distancia y Virtualidad

METODOLOGÍA DE DISEÑO DE BASE DE DATOS

Para introducirnos a esta temática mire-mos los planteamientos dados por Ba-

tini, Ceri & Navathe (1994), “El diseño de base de datos es el proceso por el que se determina la organización de una base de datos, incluidos su estructura, contenido y las aplicaciones que se han de desarrollar” […] “el diseño de base de datos desempe-ña un papel central en el empleo de los re-cursos de información en la mayoría de las organizaciones” […] “las ultima décadas se han caracterizado por un fuerte crecimien-to en el número e importancia de las apli-caciones de base de datos. Las bases de datos son componentes esenciales de los sistemas de información, usadas rutinaria-mente en todos los computadores […]. El diseño de base de datos se ha convertido en una actividad popular, desarrollada no solo por profesionales sino también por no especialistas”.

[…] ”A finales de la década de los 60’s, cuan-do las bases de datos entraron por primera vez en el mercado del software, los dise-ñadores de bases de datos actuaban como artesanos, con herramientas muy primiti-vas: diagramas de bloques y estructuras de registros eran los formatos comunes para la especificaciones y el diseño de base de datos se confundía frecuentemente con la implantación de las bases de datos. Esta situación ahora ha cambiado, los métodos y modelos de diseño de base de datos han evolucionado paralelamente con el progre-so de la tecnología en los sistemas de base de datos, que ofrecen poderosos lenguajes de consultas, herramientas para el desa-rrollo de aplicaciones e interfaces amables con los usuarios. La tecnología de base de datos cuenta ya con un marco teórico, que incluye la teoría relacional de datos, proce-

samiento y optimización de consultas, con-trol de concurrencia, gestión de transaccio-nes y recuperación, etc.”

“Según ha avanzado la tecnología de base de datos, así se han desarrollado las me-todologías y técnicas de diseño. Se han al-canzado un consenso, por ejemplo, sobre la descomposición del proceso de diseño en fases, sobre los principales objetivos de cada fase y sobre las técnicas para conse-guir estos objetivos”.

[…] “Desafortunadamente, las metodolo-gías de diseño de base de datos no son muy populares; la mayoría de las organi-zaciones y de los diseñadores individuales confía muy poco en las metodologías para llevar a cabo el diseño y esto se conside-ra, con frecuencia, una de las principales causas de fracaso en el desarrollo de los sistemas de información. Debido a la falta de enfoques estructurados para el diseño de base de datos, a menudo se subestiman el tiempo o los recursos necesarios para aun proyecto de base de datos, las bases de datos son inadecuadas o ineficientes en relación a las demandas de la aplicación, la documentación es limitada y el manteni-miento es difícil”.

[…] “Muchos de estos problemas se deben a la falta de una claridad que permita en-tender la naturaleza exacta de los datos, a un nivel conceptual y abstracto. En mu-chos casos, los datos se describen desde el comienzo del proyecto en términos de las estructuras finales de almacenamiento; no se da peso a un entendimiento de las propiedades estructurales de los datos que sea independiente de los detalles de la rea-lización.”[…] “El diseño de una base de datos es un

36

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

proceso complejo que abarca decisiones a muy distintos niveles. La complejidad se controla mejor si se descompone el proble-ma en subproblemas y se resuelve cada uno de estos subproblemas independiente-mente, utilizando técnicas específicas. Así, el diseño de una base de datos se descom-pone en diseño conceptual, diseño lógico y diseño lógico”.

A continuación se describe cada uno de los diseños:Diseño conceptual parte de las especifica-ciones de requisitos de usuarios y su resul-tados es el esquema conceptual de la base de datos. Un modelo conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del SMBD que se vaya a utilizar para mani-pularla. Este modelo es un lenguaje que se utiliza para describir esquemas conceptua-les; tiene por objetivo, describir el conteni-do de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta información. Diseño lógico parte del esquema concep-tual y da como resultado un esquema ló-gico, el cual es una descripción de las ba-ses de datos en términos de las estructuras de datos que puede procesar un tipo de SMBD. Este modelo es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red). El diseño lógico depende del tipo de SMBD que se vaya a utilizar, no depende del producto en con-creto. Diseño físico parte del esquema lógico y da como resultado un esquema físico, es cual es una descripción de la implemen-tación de una base de datos en memoria secundaria: las estructuras de almacena-

miento y los métodos utilizados para tener un acceso eficiente a los datos. Por ellos el diseño físico depende del SMBD concreto y del esquema físico se expresa mediante su lenguaje de definición de datos.

MODELO DE DATOS

Para describir la estructura de una base de datos es necesario definir el concepto de modelo de datos, el cual es:“una colección de herramientas concep-tuales para describir datos, relaciones entre ellos, semántica asociada a los datos y restricciones de consistencia” (Korth & Silberschatz, p. 6). Tomando lo dicho por Castaño & Piattini (2000) “Los modelos de datos soportados por los SGBD no suelen ofrecer, dado su bajo nivel de abstracción, los mecanis-mos suficientes para captar la semántica del mundo real, por lo que surgen modelos conceptuales, más ricos semánticamente, que facilitan la labor del diseñador ayudán-dole en su comunicación con el usuario”. Estos modelos conceptuales se utilizan para representar la realidad a un alto nivel de abstracción, al mismo tiempo se pueden construir una descripción de la realidad fá-cil de entender.

En el diseño de base de datos se usan pri-mero los modelos conceptuales para lograr una descripción de alto nivel de la realidad.

MODELO ENTIDAD-RELACIÓN (E-R)

Está basado en una percepción del mundo real consistente en objetos básicos llama-dos entidades y de relaciones entre obje-tos. Se desarrolló para facilitar el diseño de

Bases de Datos

37

Dirección de Educación Abierta y a Distancia y Virtualidad

base de datos permitiendo la especificación de un esquema de la empresa que represen-ta la estructura lógica completa de una base de datos.

Los modelos de datos soportados por los SGBD debido a su bajo nivel de abstracción, no suelen ofrecer mecanismos para captar el mundo real, por lo que surgen los modelos conceptuales, entre los cuales encontramos el modelo entidad - relación.

El modelo entidad-relación (E-R) propuesto por Peter Chen en 1970 presenta el modelo como una vista unificada de datos. Este modelo se centra en la estructura lógica y abs-tracta de los datos, como representación del mundo real, independiente de las caracte-rísticas físicas.

Originalmente el modelo E-R solo incluían los conceptos de entidad, relación y atributos, más tarde, se añadieron otros conceptos, como los atributos compuestos y las jerarquías de generalización, en lo que se ha denominado modelo entidad – relación extendido.

2.1 CONCEPTOS BÁSICOS DEL MODELO ENTIDAD-RELACIÓN (E-R)

Hay tres nociones básicas que emplea el modelo de datos E-R: conjunto de entidades, conjunto de relaciones y atributos.

2.1.1 Entidades

Una Entidad es cualquier tipo de objeto o concepto sobre el que se recoge información: cosa, persona, concepto abstracto o suceso. Una entidad tiene un conjunto de propie-dades y valores para algún conjunto de propiedades pueden identificar una entidad de formas unívoca. Por ejemplo, el código 1.102.345.678 que representa a un estudiante de una institución educativa. Análogamente, el código 6B que representa el grado al que pertenece un estudiante es una entidad que identifica a que grado pertenece ese estudiante. Una entidad puede ser concreta, como una persona o un libro o puede ser abstracta, como un préstamo, unas vacaciones, o una anotación.

Las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior (ver figura 2.1). Un nombre de entidad sólo puede aparecer una vez en el esquema conceptual.

Figura 2.1

38

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Existen dos clases de entidades:

Fuerte o regular: Las ocurrencias de un tipo de entidad regular tienen existencia propia. Se representa con un rectángulo como se ha visto anteriormente. Es aquella que puede ser identificada unívocamente sin participar en la relación.

Débil: Es una entidad cuya existencia depende de la existencia de otra entidad. Si eli-mina una ocurrencia del tipo de entidad regular, desaparecen también con ella todas las ocurrencias de la entidad débil dependiente de la misma. Un tipo de entidad débil se representa con dos rectángulos concéntricos con su nombre en el interior (ver figura 2.2) Por ejemplo si se borra un estudiante, con el desaparece las anotaciones registradas, ya que la existencia de una anotación de un estudiante pierde sentido si este estudiante no está en la base de datos.

Figura 2.2

2.1.2 Relaciones

Es una correspondencia o asociación entre dos o más entidades. Cada relación tiene un nombre que describe su función. Por ejemplo, se puede definir una relación que asocie a un estudiante María con la anotación A-1. Esta relación especifica que María tiene una anotación con código A-1. La forma de representar las relaciones es mediante un rombo en el cual se escribe el nombre de la relación. En la figura 2.3 se observa la relación entre ESTUDIANTE y ANOTACIÓN.

Figura 2.3

Figura 2.3

Las relaciones se caracterizan por tener un nombre, con el cual identificamos de forma única el tipo de relación y mediante el cual la referenciamos; y grado, que es el núme-ro de entidades que participan en el tipo de relaciones. Puede ser de grado 2 (binaria) cuando se asocian dos tipos de entidades, de grado 3 (ternarias) cuando se asocian tres tipos de entidades o en general de grado n. La relación mostrada en la figura 2.3 es de grado 2.

Bases de Datos

39

Dirección de Educación Abierta y a Distancia y Virtualidad

2.1.3 Atributos.

Describen las propiedades que posee cada miembro de un conjunto de entidades. Grá-ficamente los atributos se representan mediante el texto descriptivo dentro de las en-tidades o relaciones a las que pertenecen. Así el tipo de entidad ESTUDIANTE tiene como atributos el IDEstudiante, Nombre, FechadeNacimiento, LugarNacimiento, Genero GradoEscolar, Jornada, DirectordeGrupo, etc.; y los atributos de la entidad ANOTACIÓN IdAnotacion, IdEstudiante, Fecha, Observacion, etc. Cada atributo tiene un conjunto de valores asociados denominados dominio, el cual se define como los valores posibles que puede tomar un atributo. Puede haber varios atribu-tos definidos sobre un mismo dominio. Los atributos pueden ser simples o compuestos. Los atributos simples solo tiene un componente, que no se puede dividir en partes pe-queñas que tengan un significado propio y un atributo compuesto son aquellos con varios componentes, cada uno con un significado por sí mismo. Y gráficamente se representan por medio de una elipse.

Figura 2.4

Recuerde que: las líneas son las que unen los atributos con las entidades y las entidades con las relaciones.

ACTIVIDAD 1

Identifica las posibles entidades de una base de datos de una biblioteca escolar, luego mira la relaciones que existen entre cada una de las entidades que identificaste y por ultimo escribe los atributos de esas entidades.

40

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

2.2 RESTRICCIONES DE INTEGRI-DAD EN EL MODELO E–R

De acuerdo a Silberschatz, Korth & Sudars-han (2002), un esquema de desarrollo E-R puede definir ciertas restricciones a las que los contenidos de la base de datos se deben adaptar. A continuación se describi-rán las correspondencias de cardinalidades y las restricciones de participación.

2.2.1 Correspondencia de cardina-lidades Las correspondencias de cardinalidades también denominada razón de cardinalida-des, expresa el número de entidades a las que otra entidad puede estar asociada.

La cardinalidad con la que una entidad participa en una relación específica es el número mínimo y el número máximo de correspondencia en las que puede tomar parte cada ocurrencia de dicha entidad. La participación de una entidad en una rela-ción es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de al menos una ocurrencia de la otra entidad participante, si no, la partici-pación es opcional (parcial).

A continuación se toman la corresponden-cia de cardinalidad de las relaciones bina-rias dadas por Korth & Silberschatz (2002), los cuales enuncia que para un conjunto de entidades binarias R entre los conjuntos de entidades A y B, la correspondencia de car-dinalidades debe ser una de las siguientes:»Uno a uno (1:1): Una entidad en A se

asocia con a lo sumo una entidad de B, y una entidad de B se asocia con a lo sumo una entidad en A. Figura 2.4

Figura 2.4

»Uno a Varios (1 a N): Una entidad en A se asocia con cualquier número de enti-dades en B (ninguna o varios). Una en-tidad en B, sin embargo, se puede aso-ciar con cualquier número de entidades (ninguna o varias) en A. Figura 2.5

Figura 2.5

»Varios a uno (N a 1): Una entidad en A se asocia con a lo sumo una entidad en B. Una entidad en B, sin embargo, se puede asociar con cualquier número de entidades (ninguna o varias) en A. Figura 2.6

Bases de Datos

41

Dirección de Educación Abierta y a Distancia y Virtualidad

uno a varios, pero caso contrario es que una o varias anotaciones solo puede perte-necer a un estudiante entonces el conjunto de relaciones anotación a estudiante es de varios a uno.

ACTIVIDAD 2 Con el ejercicio realizado en la actividad 1, identifique las cardinalidades entre cada una de las entidades que usted identifico para la base de datos de una biblioteca es-colar.

2.2.2 Restricción de participación

Las restricciones pueden limitar los tipos de estructuras que es imposible representar mediante un cierto modelo de datos, o bien permiten restringir los valores que pueden tomar ciertos atributos o imponen limitacio-nes al tipo de correspondencia u otras ca-racterísticas de las relaciones.Según lo propuesto por Silberschatz, Korth & Sudarshan (2000), la participación de un conjunto de entidades E en un conjunto de relaciones R se dice que es total si cada entidad en E participa al menos en una re-lación en R. Si solo algunas entidades en E participan en relaciones en R, la partici-pación del conjunto de entidades E en la relación R se llama parcial.

2.3 CLAVES

Es importante especificar como se distin-guen las entidades y las relaciones. Con-ceptualmente, las entidades y las relacio-nes individuales son distintas; peor desde la perspectiva de las bases de datos, la di-ferencia entre ellas se expresa en términos de los atributos.

Figura 2.6

»Varios a Varios (N a N): Una entidad en A se asocia con cualquier número de entidades (ninguna o varias) en B, y una entidad en B se asocia con cual-quier número de entidades (ninguna o varias) en A. Figura 2.7

Figura 2.7

Cabe añadir que la correspondencia de cardinalidades apropiadas para un conjun-to de relaciones particular depende obvia-mente de la situación del mundo real que se esté modelando.

Para ejemplarizar lo anterior, miremos la siguiente situación. En el observador del estudiante un estudiante puede tener mu-chas anotaciones, entonces el conjunto de relaciones de estudiante a anotación es de

42

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Por tal motivo como lo expresan: “Silberschatz, Korth & Sudarshan (2000), los valo-res de los atributos de una entidad deben ser tales que permitan identificar uní-vocamente a la entidad, esto quiere decir que, no se permite que ningún par de entidades tengan exactamente los mismos valores de sus atributos”.

Por lo que el concepto de clave nos permite hacer estas distinciones. Una clave, permite identificar un conjunto de atributos suficientes para distinguir las entidades entre sí. Las claves también ayudan a identificar a las relaciones y así distinguir las relaciones entre sí.

Existen varios tipos de claves en las cuales encontramos:

»Superclave: es un conjunto de uno o más atributos que, formados colectivamente, permiten identificar de forma única una entidad.

»Claves Candidatas: Son todos aquellos atributos que son únicos y por ende pueden cumplir la función de identificar un registro unívocamente. Por ejemplo, en la entidad Estudiante, tenemos un atributo denominado IdEstudiante el cual es único para cada estudiante. Este término es aplicado a casi todas las claves naturales.

»Claves primarias: se llama así al campo o los campos que son finalmente designa-dos para individualizar el registro. Pueden ser “naturales” o “artificiales”

»Clave Natural: Se refiere a atributos ya existentes en la entidad a modelar, que son adecuados para identificar unívocamente a un registro, como lo números de iden-tificación, los códigos. Se dividen en Simples (compuesta por un único atributo) o Compuestas (conformadas por varios campos, como por ejemplo, tipo de documento y numero de documento).

»Clave Artificial: Es un campo que contiene un valor que no se desprende de los atri-butos reales de la entidad a modelar, sino que ha sido creado específicamente con el objetivo de individualizar un registro. Por lo general, suele ser una secuencia de números únicos y consecutivos. En la mayoría de los casos se considera la solución más adecuada para generar la clave primaria de una tabla, en especial ante la ausen-cia de claves candidatas.

»Claves foranes: Son críticas para mantener la integridad de las relaciones entre enti-dades. Una clave foránea o clave ajena (o Foreign Key FK) es una limitación referen-cial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla maestra o referenciada). Las columnas en la tabla referendo de-ben ser la clave primaria u otra clave candidata en la tabla referenciada.

Bases de Datos

43

Dirección de Educación Abierta y a Distancia y Virtualidad

2.4 DIAGRAMA ENTIDAD-RELACIÓN (E-R)

Los diagramas E-R constituyen la representación gráfica de las entidades y relaciones necesarias para construir el modelo de datos asociado a la situación del mundo real que se quiere representar en la base de datos a diseñar. Tomando lo dicho por Gonzales (2011), los diagramas E-R sirven para detectar incon-gruencias en el modelo. Esto sirve para iluminar puestos oscuros; si hemos comprendido o no el modelo correctamente o si quizás dicho modelo tiene algún posible fallo o cues-tión organizativa que haya podido pasar desapercibida. Un análisis del modelo E-R, nos indica también en qué orden debe llenarse los datos en las tablas. Una cardinalidad 1 a N nos indica que primero debemos llenar la tabla con la cardinalidad 1 y después la tabla con la cardinalidad N para respetar la coherencia de los datos. Se debe tener encuenta que el análisis y diseño del modelo E-R es mejor trabajarlo en papel y realizar un bosquejo de entidades, relaciones y atributos y como estos interac-túan entre sí, también si es posible debatir el modelo entre varios compañeros para com-partir las ideas y tener una mejor visión de cómo es el modelado que se esté diseñando. La diagramación del modelo E-R es simple y clara, recuerde que los principales compo-nentes de un diagrama E-R son:

»Rectángulos, que representa las entidades.»Elipses, que representan atributos.»Rombos, que representan relaciones.»Líneas, que unen atributos a entidades y entidades a relaciones.»Elipses Dobles, que representan atributos multivalorados.»Elipses discontinuas, que representan atributos derivados. »Líneas dobles, que indican participación total de una entidad en un conjunto de rela-

ciones.»Rectángulos Dobles, que representa conjuntos de entidades débiles.

ACTIVIDAD 3

Defina cada una de las claves que identifican cada una de las entidades de la base de datos de una biblioteca escolar.

44

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Consideremos el diagrama E-R de la figura 2,8 que se muestra a continuación:

Figura 2,8

Consta de dos entidades Estudiante y Docente_DirGrupo, relacionadas a través de una relación binaria tiene; los atributos de la entidad Estudiante son: IdEstudinate, NombreA-pellido, Grado… y los atributos de la entidad Docente_DirGrupo son: IdDocente, Nombre-Apellido, GardoAcargo…, cabe anotar que los atributos subrayados son las clave primara de cada entidad respectivamente.

Ahora, para ilustrar la cardinalidad, tomemos como ejemplo lo siguiente: un estudiante tiene un solo docente director de grupo. Tenemos una entidad llamada Estudiante y una entidad Docente_DirGrupo. Cada estudiante tiene un único docente director de grupo.

La relación gráficamente representada es:

Figura 2,9

La raya vertical que se cruza con la relación junto al rectángulo de Docente_DirGrupo simboliza la cardinalidad. Quiere decir 1.En el otro lado, en la entidad Estudiante, la cardinalidad es “muchos” o N. Por tanto, tene-mos un esquema de 1 a N; cada docente director de grupo tiene al menos un estudiante a cargo; y en el sentido contrario indica que no hay un estudiante que no tenga un director de grupo.

Ahora veamos el siguiente ejemplo, varios escritores se juntan para escribir un libro, Juan ha escrito dos libros por separado y Pedro ha escrito tres. Juan y Pedro deciden unirse para escribir un solo libro entre los dos. La relación se representa de la siguiente forma:

Bases de Datos

45

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 2,10En este caso tenemos una relación de M a N (muchos a muchos), un escritor pudo haber escrito uno o más libros y un libro puede estar escrito por uno o más escritores. En este caso es una relación débil, no directa.

Puede haber relaciones de cardinalidad cero. Este caso lo podemos observar en el si-guiente ejemplo, una empresa vende palos de golf y decide abrir mercado en Francia y obtiene una lista de empresarios y directivos de compañías petroleras. Esta empresa fabricante de palos de golf pretende añadir a sus clientes actuales (clientes que ya han comparado productos) un grupo de posibles clientes potenciales que aún no han compra-do nada, por tanto, aún o han enviado pedidos. Entonces estos son clientes potenciales. Se representa de la siguiente forma:

Figura 2,11

Esta relación indica que un cliente puede tener cero, uno o más pedidos.

En la figura 2,12 muestra cómo se pueden representar atributos compuestos en el mo-delo E-R., podemos observar como el atributo Nombre, con atributos componentes Pri-merNombre, SegundoNombre, PrimerApellido, SegundoApellido, reemplazan el atributo simple NombreApellido (este puede ser observado en la Figura 2,8) de la entidad Estu-diante. También se puede observar el atributo compuesto dirección, cuyos atributos com-ponentes son Municipio, Barrio, Calle, que reemplaza el atributo dirección. En la misma figura se muestra un atributo multivalorado, Teléfono, graficado por una elipse doble y un atributo derivado Edad que es representado por una elipse discontinua.

46

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Figura 2,12

2.5 CARACTERÍSTICA DEL MODELO E-R EXTENDIDO

Aunque los conceptos básicos de E-R pueden modelar la mayoría de las características de las bases de datos, algunos aspectos de una base de datos pueden ser más adecua-damente expresados mediante ciertas extensiones del modelo E-R básico. En este apar-tado se discuten las características E-R extendidas de especialización, generalización, conjuntos de entidades de nivel más alto y más bajo, herencia de atributos y agregación.

2.5.1 Especialización

Un conjunto de entidades puede incluir subgrupos de entidades que se diferencian de alguna forma de las otras entidades del conjunto. Por ejemplo, un subconjunto de enti-dades en un conjunto de entidades puede tener atributos que no son compartidos por todas las entidades del conjunto de entidades. El modelo E-R proporciona una forma de representación de estos grupos de entidades distintos.

Considérese el conjunto de entidades Familiar con atributos nombre, dirección, teléfono. Un acudiente puede clasificarse además como: padre y acudiente.Cada uno de los tipos de la entidad Familiar se describe mediante un conjunto de atributos que incluyen los atributos de la entidad Familiar más otros posibles atributos adicionales. Por ejemplo, la entidad Padre se puede describir mediante el atributo IdPadre, mientras que la entidad Acudiente se puede describirse mediante el atributo IdAcudiente. El pro-ceso de designación de subgrupos dentro de una entidad se denomina especialización. La especialización de Familiar permite distinguir si el familiar es el padre del estudiante o el acudiente, entendiendo que el acudiente es distinto al núcleo familiar primario (madre y padre). Se puede aplicar repetidamente la especialización para refinar el esquema de diseño. Ver Figura 2,13.

Bases de Datos

47

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 2,13

Se debe tener en cuenta que las entidades se pueden especializar por más de una carac-terística distintiva. Por ejemplo, la característica distintiva entre una entidad empleado es el trabajo que realiza el empleado. Otra especialización coexistente podría estar basada en si la persona es un trabajador temporal o fijo, resultado en los conjuntos de entidades empleado-temporal y empleado-fijo. Cuando se forma más de una especialización de un conjunto de entidades, una entidad en particular puede pertenecer a varias especializa-ciones. Por ejemplo, una empleada dada puede ser una empleada temporal y secretaria. En términos de un diagrama E-R, la especialización se representa mediante un compo-nente triangular etiquetado ES. La etiqueta ES representa, por ejemplo, que un cliente «es» una persona. La relación ES se puede llamar también relación superclase-subclase. Los conjuntos de entidades de nivel más alto y más bajo se representan como conjuntos de entidades regulares, es decir, como rectángulos que contienen el nombre del conjunto de entidades.

ACTIVIDAD 4

1. Diagrame el ejemplo del párrafo anterior.2. De la base de datos biblioteca escolar determine una entidad y describa que espe-

cialización tiene, luego grafíquela.

48

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

2.5.2 Generalización

En un tipo de entidades E es una generalización de un tipo de entidades R cuando los atributos de E están incluidos en los atributos de R. En la figura 2,14, podemos observar que: »El tipo de entidad Familiar con atributos IdFamiliar, Dirección y Teléfono, es una ge-

neralización de la entidad Padre, que tiene como atributo IdPadre. »El tipo de entidad Familiar con atributos IdFamiliar, Dirección y Teléfono, es una ge-

neralización de la entidad Acudiente, que tiene como atributo IdAcudiente.»La entidad Acudiente puede ser una generalización de los tipos de entidades Tíos,

Abuelos, ICBF.

Figura 2,14

Se debe tener en cuenta que, la idea de generalización esta próxima a la de herencia en la programación orientada a objetos.

ACTIVIDAD 5

1. Consulte que es la programación orientada a objetos y realice un cuadro sinóp-tico.

2. Defina si dentro de las entidades de la base de datos de la biblioteca escolar se puede representar una generalización, si es así, grafíquela.

Bases de Datos

49

Dirección de Educación Abierta y a Distancia y Virtualidad

2.5.3 Agregación

El modelo E-R no permite establecer relaciones entre relaciones. La agregación consiste en considerar un conjunto de componentes (tipos de entidades o tipos de relaciones) como si fueran un único tipo de entidades. Su representación gráfica es un rectángulo donde se incluyen todos los componentes de la agregación.

Una limitación del modelo E-R es que no resulta posible expresar relaciones entre rela-ciones. Para ilustrar la necesidad de tales construcciones tomemos como ejemplo el si-guiente enunciado, Queremos gestionar partidos de un deporte. Cada partido tiene lugar entre dos equipos (el que juega en casa y el que juega fuera) y tiene un resultado.

A cada partido le corresponde también un árbitro. Nos interesa determinar:»Qué equipos han jugado entre sí y con qué resultado.»Quien ha arbitrado cada partido.

La representación gráfica del enunciado es el siguiente:

Figura 2,15

Si es necesario incluir las empresas que publicitan sus productos en un partido, sería necesario introducir un tipo de entidad Empresas y un tipo de relación Anuncia. Anuncia debería relacionar Empresas con Partidos, pero no existe esta entidad. La posibilidad, es crear una nueva entidad ternaria entre Equipos y Empresas, pero esto daría lugar a redundancia en los atributos de Partido. Esto se soluciona realizando una agregación denominada Partidos, que se tratara como un tipo de entidad y que puede relacionarse con Empresas. Ver Figura 2,16.

50

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Figura 2,16

ACTIVIDAD 6

1. Consulte sobre herencia de atributos y las restricciones sobre las generalizaciones.2. Considere la relación ternaria trabaja-en con las e entidades Empleado, Su-

cursal y Trabajo, se desea registrar los directores para las tareas realizadas por un empleado de una sucursal; es decir, se desean registrar directores por com-binaciones (Empleado, Sucursal, Trabajo), asumiendo que existe una enti-dad Director. Represente gráficamente esta situación utilizando la agregación.

2.5.4 Notaciones alternativas del modelo E-R

En la figura 2,17 se resume el conjunto de símbolos que usan para el diseño de los dia-gramas del modelo E-R. Cabe añadir que no hay un estándar universal para la diagra-mación del modelo E-R, en la figura 2,17, se muestra los símbolos utilizados en el modelo E-R.

Bases de Datos

51

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 2,17Tomada del libro Fundamentos de base de datos, cuarta edición.

Para las restricciones de cardinalidad se pueden indicar de varias formas, ver figura 2,18. Las etiquetas * y 1 en los arcos que salen de las relaciones se usan a menudo para deto-nar relaciones varios a varios, uno a uno y varios a uno. En otra notación alternativa de la figura los conjuntos de relaciones se representan por líneas entre conjuntos de entidades sin rombos; solo se pueden modelar de formas relaciones binarias. Las restricciones de cardinalidad en esta notación se muestran por la notación “pata de gallo”, como se puede observar en la figura.

52

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Figura 2,18

Tomada del libro Fundamentos de base de datos, cuarta edición.

2.6 DISEÑO DE UN ESQUEMA DE BASES DE DATOS E-R

El modelo de datos E-R proporciona un alto grado de flexibilidad en el diseño de un es-quema de base de datos para modelar una situación dada del mundo real. Entre las de-cisiones que toma un diseñador de base de datos están las expuestas por Silberschatz, Korth & Sudarshan (2002):»Si se usa un atributo o un conjunto de entidades para representa un objeto.»Si un concepto del mundo real se expresa más exactamente mediante un conjunto de

entidades o mediante un conjunto de relaciones.»Si se usa una relación ternaria o un par de relaciones binaras.»Si se usa un conjunto de entidades fuertes o débiles; un conjunto de entidades fuer-

tes y sus conjuntos de entidades débiles dependientes se pueden considerar como un «objeto» en la base de datos, debido a que la existencia de las entidades débiles depende de la entidad fuerte.

»Si el uso de la generalización es apropiado; la generalización, o una jerarquía de re-laciones ES, contribuye a la modularidad por permitir que los atributos comunes de conjuntos de entidades similares se representen en un único lugar en un diagrama E-R.

»Si el uso de la agregación es apropiado, la agregación agrupa una parte de un diagra-ma E-R en un único conjunto de entidades, permitiendo tratar el conjunto de entida-des de la agregación como una unidad única sin importar los detalles de su estructura interna.

»Tenga en cuenta que para modelar una base de datos se necesita conocer y entender lo que se está modelando para tomar las decisiones anteriormente planteadas.

Bases de Datos

53

Dirección de Educación Abierta y a Distancia y Virtualidad

2.6.1 Metodología de diseño

El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los usuarios tienen de la información. Cada una de estas visiones suelen corresponder a las diferentes áreas funcionales de la em-presa como, por ejemplo, producción, ven-tas, recursos humanos, etc.

Estas visiones de la información, denomi-nadas vistas, se pueden identificar de va-rias formas. Una opción consiste en exami-nar los diagramas de flujo de datos, que se pueden haber producido previamente, para identificar cada una de las áreas funciona-les. La otra opción consiste en entrevistar a los usuarios, examinar los procedimientos, los informes y los formularios, y también observar el funcionamiento de la empresa.

A los esquemas conceptuales correspon-dientes a cada vista de usuario se les de-nomina esquemas conceptuales locales. Cada uno de estos esquemas se compo-ne de entidades, relaciones, atributos, do-minios de atributos e identificadores. El esquema conceptual también tendrá una documentación, que se irá produciendo durante su desarrollo. Las tareas a realizar en el diseño conceptual son las siguientes: Identificar de entidades, Identificar de rela-ciones, Identificar los atributos y asociarlos

estas especificaciones se buscan los nom-bres o las características que se mencionan (por ejemplo: código del estudiante, nom-bre del estudiante, grado, identificación del docente, dirección del docente, código de la anotación, fecha de la anotación). Tam-bién se buscan objetos importantes como personas, lugares o conceptos de interés, excluyendo aquellos nombres que sólo son propiedades de otros objetos. Por ejemplo, se pueden agrupar el código del estudiante con nombre del estudiante en una entidad denominada Estudiante, y agrupar la identi-ficación del docente con nombre del docen-te en una entidad llamada Docente y códi-go de anotación con fecha de anotación en la entidad Anotación.

Otra forma de identificar las entidades es buscar aquellos objetos que existen por sí mismos. Por ejemplo, Estudiante es una entidad porque los estudiantes existen, se-pamos o no sus nombres, direcciones y te-léfonos.

A veces, es difícil identificar las entidades por la forma en que aparecen en las especificaciones de requisitos. A veces se habla utilizando ejem-plos o analogías. En lugar de hablar de Estu-diantes o Docente en general, se hablan de personas concretas, o bien, hablan de los puestos que ocupan esas personas.No siempre es obvio saber si un objeto es una entidad, una relación o un atributo. Por ejemplo ¿cómo se podría clasificar matri-monio? Pues de cualquiera de las tres for-mas. El análisis es subjetivo, por lo que dis-tintos diseñadores pueden hacer distintas interpretaciones, aunque todas igualmente válidas. Todo depende de la opinión y la experiencia de cada uno. Usted como di-señador de una base de datos debe tener una visión selectiva y clasificar las cosas que observan dentro del contexto en el

2.6.2.1 Identificar las entidades

En primer lugar hay que definir los principa-les objetos que interesan al usuario. Estos objetos serán las entidades. Una forma de identificar las entidades es examinar las es-pecificaciones de requisitos de usuario. En

54

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

que se encuentra. A partir de unas especi-ficaciones de usuario es posible que no se pueda deducir un conjunto único de entida-des, pero después de varias iteraciones del proceso de análisis, se llegará a obtener un conjunto de entidades que sean adecuadas para el sistema que se ha de modelar.Conforme se van identificando las entida-des, se les dan nombres que tengan un sig-nificado. Los nombres de las entidades y sus descripciones se anotan en el dicciona-rio de datos. Cuando sea posible, se debe anotar también el número aproximado de ocurrencias de cada entidad. Si una enti-dad se conoce por varios nombres, éstos se deben anotar en el diccionario de datos como alias o sinónimos.

2.6.2.2 Identificar relaciones

Una vez definidas las entidades, se de-ben definir las relaciones existentes entre ellas. Del mismo modo que para identificar las entidades se buscaban nombres en las especificaciones de requisitos, para iden-tificar las relaciones se suelen buscar las expresiones verbales (por ejemplo: Estu-diante tiene docente director de grupo, do-cente realiza anotaciones, estudiante tiene anotaciones). Si las especificaciones de re-quisitos reflejan estas relaciones es porque son importantes para el modelo que se esté desarrollando y, por lo tanto, se deben re-flejar en el esquema conceptual.Es muy importante repasar las especifi-caciones para comprobar que todas las relaciones, explícitas o implícitas, se han encontrado. Si se tienen pocas entidades, se puede comprobar por parejas si hay al-guna relación entre ellas. De todos modos, las relaciones que no se identifican ahora se suelen encontrar cuando se valida el esquema con las transacciones que debe soportar.

Una vez identificadas todas las relaciones, hay que determinar la cardinalidad mínima y máxima con la que participa cada enti-dad en cada una de ellas. De este modo, el esquema representa de un modo más explícito la semántica de las relaciones. La cardinalidad es un tipo de restricción que se utiliza para comprobar y mantener la calidad de los datos. Estas restricciones son aserciones sobre las entidades que se pueden aplicar cuando se actualiza la base de datos para determinar si las actualiza-ciones violan o no las reglas establecidas sobre la semántica de los datos.

Conforme se van identificando las relacio-nes, se les van asignando nombres que tengan significado para el usuario. En el diccionario de datos se anotan los nombres de las relaciones, su descripción y las car-dinalidades con las que participan las enti-dades en ellas.

2.6.2.3 Identificar los atributos y asociarlos a las entidades

Al igual que con las entidades, se buscan nombres en las especificaciones de re-quisitos. Son atributos los nombres que identifican propiedades, cualidades, identi-ficadores o características de entidades o relaciones, lo más sencillo es preguntarse, para cada entidad y cada relación, ¿qué in-formación se quiere saber de...?.

Al identificar los atributos, hay que tener en cuenta si son simples o compuestos. Por ejemplo, el atributo dirección puede ser simple, teniendo la dirección completa como un solo valor: `La Selva calle 7, Sin-celejo’; o puede ser un atributo compuesto, formado por la calle (`Nariño’), el número (`7’) y ciudad (`Sincelejo’). El escoger entre

Bases de Datos

55

Dirección de Educación Abierta y a Distancia y Virtualidad

atributo simple o compuesto depende de los requisitos del modelo que se esté cons-truyendo. Si el usuario no necesita acceder a cada uno de los componentes de la direc-ción por separado, se puede representar como un atributo simple. Pero si el usuario quiere acceder a los componentes de for-ma individual, entonces se debe represen-tar como un atributo compuesto.

También se deben identificar los atributos derivados o calculados, que son aquellos cuyo valor se puede calcular a partir de los valores de otros atributos. Por ejemplo, la fecha de nacimiento, el número de estu-diantes de un grado. Si se hace, se debe indicar claramente que el atributo es deri-vado y a partir de qué atributos se obtiene su valor.

Cuando se están identificando los atribu-tos, se puede descubrir alguna entidad que no se ha identificado previamente, por lo que hay que volver al principio introducien-do esta entidad y viendo si se relaciona con otras entidades.

Es muy útil elaborar una lista de atributos e ir eliminándolos de la lista conforme se va-yan asociando a una entidad o relación. De este modo, uno se puede asegurar de que cada atributo se asocia a una sola entidad o relación, y que cuando la lista se ha aca-bado, se han asociado todos los atributos.Hay que tener mucho cuidado cuando pa-rece que un mismo atributo se debe asociar a varias entidades. Esto puede ser por una de las siguientes causas:

»Se han identificado varias entidades, cuando, de hecho, pueden represen-tarse como una sola entidad. En este

caso, se puede escoger entre introducir una jerarquía de generalización, o de-jar las entidades que representan cada uno de estas.

»Se ha identificado una relación entre entidades. En este caso, se debe aso-ciar el atributo a una sola de las enti-dades y hay que asegurarse de que la relación ya se había identificado previa-mente. Si no es así, se debe actualizar la documentación para recoger la nue-va relación.

Conforme se van identificando los atribu-tos, se les asignan nombres que tengan significado para el usuario. De cada atribu-to se debe anotar la siguiente información:»Nombre y descripción del atributo.»Alias o sinónimos por los que se cono-

ce al atributo.»Tipo de dato y longitud.»Valores por defecto del atributo (si se

especifican).»Si el atributo siempre va a tener un va-

lor (si admite o no nulos).»Si el atributo es compuesto y, en su

caso, qué atributos simples lo forman. »Si el atributo es derivado y, en su caso,

cómo se calcula su valor.»Si el atributo es multievaluado.

2.6.2.4 Determinar los dominios de los atributos

El dominio de un atributo es el conjunto de valores que puede tomar el atributo. Un es-quema conceptual está completo si incluye los dominios de cada atributo: los valores permitidos para cada atributo, su tamaño y su formato. También se puede incluir infor-mación adicional sobre los dominios como, por ejemplo, las operaciones que se pue-den realizar sobre cada atributo, qué atri-

56

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

butos pueden compararse entre sí o qué atributos pueden combinarse con otros. Aunque sería muy interesante que el siste-ma final respetara todas estas indicaciones sobre los dominios, esto es todavía una lí-nea abierta de investigación.

2.6.2.5 Determinar los identifica-dores

Cada entidad tiene al menos un identifica-dor. En este paso, se trata de encontrar to-dos los identificadores de cada una de las entidades. Los identificadores pueden ser simples o compuestos. De cada entidad se escogerá uno de los identificadores como clave primaria en la fase del diseño lógico.

Cuando se determinan los identificadores es fácil darse cuenta de si una entidad es fuerte o débil. Si una entidad tiene al menos un identificador, es fuerte (otras denomina-ciones son padre, propietaria o dominan-te). Si una entidad no tiene atributos que le sirvan de identificador, es débil (otras de-nominaciones son hijo, dependiente o su-bordinada). Todos los identificadores de las entidades se deben anotar en el diccionario de datos

2.6.2.6 Determinar las jerarquías de generalización

En este paso hay que observar las entida-des que se han identificado hasta el mo-mento. Hay que ver si es necesario reflejar las diferencias entre distintas ocurrencias de una entidad, con lo que surgirán nuevas subentidades de esta entidad genérica; o bien, si hay entidades que tienen caracte-rísticas en común y que realmente son su-bentidades de una nueva entidad genérica.

2.6.2.7 Dibujar el diagrama Enti-dad – Relación (E-R)

Una vez identificados todos los conceptos, se puede dibujar el diagrama entidad-rela-ción correspondiente a una de las vistas de los usuarios. Se obtiene así un esquema conceptual local.

2.7 EJEMPLO DE LA UTILIZA-CIÓN DE LA METODOLOGÍA DE DISEÑO DEL MODELO E- R

A continuación se desarrollará un ejemplo donde se seguirán los pasos de la metodo-logía para el diseño de una base de datos en el contexto de la educación.La situación problemática es la siguiente: Se desea diseñar una base de datos del observador del estudiante para un institu-ción educativa, el observador del estudian-te consta de la identificación personal del estudiante, datos familiares o del acudien-te, información académica y vocacional del estudiante, seguridad social del estudiante, situación de vulnerabilidad y registro de ob-servaciones realizadas por el docente di-rector de grupo.

1. Identificar de entidades

En el enunciado del problema se observa los principales objetos de interés de los cuales se generan las siguientes entidades:»Estudiante»Acudiente (persona diferente a los pa-

dres de familia, es decir tíos, abuelos, hogar del ICBF)

»Familiar (Datos familiares)»InformaciónAcadémica (Información

académica)

Bases de Datos

57

Dirección de Educación Abierta y a Distancia y Virtualidad

»SeguridadSocial (Seguridad Social)»Anotaciones (Observaciones realizadas por el docente director de grupo al estudian-

te)»DocenteDirectorGrupo (Docente director de grupo)

2. Identificar de relaciones

Aquí identificamos las relaciones existentes entre las entidades previamente identifica-das, las relaciones para la situación planteada son:

»Estudiante-Familiar: relación entre el estudiante y los datos familiares.»Estudiante-Acudiente: relación entre el estudiante y el acudiente.»Estudiante-InfoAcademica: relación entre el estudiante y su información académica.»Estudiante-SegSocial: relación entre el estudiante y la seguridad social a la que per-

tenece.»Estudiante-Docente: relación entre el estudiante y su docente director de grupo.»EstudianteAnotacion: relación entre el estudiante y sus anotaciones.»DocenteAnotacion: relación entre el docente y la anotación que realiza. 3. Identificar los atributos y asociarlos a las entidades

Entidad AtributosEstudiante Identificación, Nombre y apellidos, fecha de nacimiento,

dirección, teléfono, e-mail, género, peso, talla, RH, grado y grupo, jornada, Situación vulnerabilidad (si el estudiante es víctima del conflicto armado, es desvinculado de grupos armados, hijo o hija de adultos desmovilizados, si es despla-zado o proviene de un hogar de protección del ICBF), nume-ro de hermanos, Numero de personas con las que convive, estrato social, discapacidad.

Familiar Identificación, Nombre y apellidos, dirección, teléfono, e-mail, profesión, nivel académico

Acudiente Identificación, Nombre y apellidos, dirección, teléfono, e-mail, profesión, nivel académico, rasgo familiar (tío, abuelo, hogar de protección ICBF)

InformaciónAcadémica Código del estudiante, Nombre del colegio de procedencia, Grados realizados, Jornada, tipo de institución educativa (privada o pública), motivo del retiro, grados repetidos, Fecha de retiro, Aptitud Vocacional

SeguridadSocial Identificación de la seguridad social, Nombre de la entidad aseguradora, tipo de seguridad (EPS, IPS, ARS, SISBEN).

Anotación Código del docente, Código del estudiante, fecha de la anota-ción, Observación realizada, seguimiento, acción tomada, compromisos.

DocenteDirectorGrupo Identificación, Nombre y apellidos, dirección, teléfono, e-mail, profesión, Grado a cargo,

58

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

4. Determinar los dominios de los atributos

Los dominios corresponden al conjunto de valores que pueden tomar cada atributo.

Entidad Atributos Dominio

Estudiante

IdentificaciónNombre y apellidosFecha de nacimientoDirecciónTeléfonoE-mailGeneroPesoTallaRHGrado y grupoJornadaAptitud VocacionalSituación vulnerabilidadNumero de hermanosNúmero de personas con las que conviveEstrato socialDiscapacidad

Números enteros positivosCaracteresFormato de fecha cortaCaracteres Caracteres Caracteres Caracteres Números enteros positivosNúmeros enteros positivosCaracteres Caracteres CaracteresCaracteresCaracteresCaracteresCaracteresCaracteresCaracteres

Familiar

IdentificaciónNombre y apellidosDirecciónTeléfonoE-mailProfesiónNivel académico

Números enteros positivosCaracteresCaracteresCaracteresCaracteresCaracteresCaracteres

Acudiente

IdentificaciónNombre y apellidosDirecciónTeléfonoE-mailProfesiónNivel académicoRasgo familiar

Números enteros positivosCaracteresCaracteresCaracteresCaracteresCaracteresCaracteresCaracteres

InformaciónAcadémica

Código del estudianteNombre del colegio de procedenciaGrados cursadosTipo de institución educativaMotivo del retiroFecha de retiro

Números enteros positivosCaracteresCaracteresCaracteresCaracteresFormato de fecha corta

SeguridadSocial Nombre de la entidad aseguradoraTipo de Seguridad Social

CaracteresCaracteres

Bases de Datos

59

Dirección de Educación Abierta y a Distancia y Virtualidad

Anotación

Código del docenteCódigo del estudianteFecha de la anotaciónObservación realizadaSeguimientoAcción tomadaCompromisosIdAnotacion

Números enteros positivosNúmeros enteros positivosFormato de fecha cortaCaracteresCaracteresCaracteresCaracteresCaracteres

DocenteDirectorGrupo

IdentificaciónNombre y apellidosDirecciónTeléfonoE-mailProfesiónGrado a cargo

Números enteros positivosCaracteresCaracteresCaracteresCaracteresCaracteresCaracteres

5. Determinar los identificadores

Los identificadores deben identificar de manera única un objeto dentro del conjunto per-teneciente a la entidad o a la relación.

Entidad Identificador Estudiante IdEstudainteDatosFamiliares IdDatosFliaAcudiente IdAcudienteInformaciónAcadémica IdEstudianteSeguridadSocial IdSeguridadSocialAnotación IdAnotacionDocenteDirectorGrupo IdDocente

6. Determinar las jerarquías de generalización

La jerarquía de generalización se encuentra en la entidad DatosFamiliares, donde este familiar puede ser el padre de familia o acudiente. Al mismo tiempo se puede generalizar padre de familia para determinar si es el padre o la madre.

7. Dibujar el diagrama Entidad – Relación (E-R).

Para realizar el diagrama E-R del ejemplo observador del alumno, nos ayudaremos con la aplicación Dia, la cual es una aplicación informática de propósito general para la creación de diagramas, desarrollada como parte del proyecto GNOME. Está concebido de forma modular, con diferentes paquetes de formas para diferentes necesidades.

60

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

Dia está diseñado como un sustituto de la aplicación comercial Visio de Microsoft. Se pue-de utilizar para dibujar diferentes tipos de diagramas. Actualmente se incluyen diagramas entidad-relación, diagramas UML, diagramas de flujo, diagramas de redes, diagramas de circuitos eléctricos, etc. Nuevas formas pueden ser fácilmente agregadas, dibujándolas con un subconjunto de SVG e incluyéndolas en un archivo XML. En el anexo A, encuen-tras manual de usuario de la aplicación y link de descarga.

En la figura 2,19 se muestra la representación gráfica del modelo conceptual del obser-vador del estudiante, expresado en términos de los conceptos E-R. El diagrama incluye las entidades, atributos, relaciones.

Figura 2,19

Bases de Datos

61

Dirección de Educación Abierta y a Distancia y Virtualidad

1. Explique las diferencias entre los términos clave primaria, clave candidata y supercla-ve.2. ¿Cuál de estas relaciones es de cardinalidad 1 a N?

a.

b.

c.

3. ¿Cuál de estas relaciones es de cardinalidad N a N?

a.

b.

c.

4. Tenemos una entidad llamada periféricos y otra entidad llamada tipos. Dentro de los periféricos tenemos impresora, escáner, disco duro y modem. Dentro de los tipos tene-mos entrada y salida. Dibuja el diagrama E-R que permita vincular periféricos con tipos. 5. Utiliza la metodología de diseño conceptual del modelo E-R y diseña una base de da-tos de la biblioteca escolar.6. Construir un diagrama E-R para la oficina de registros de una universidad. La oficina mantiene datos sobre cada clase, incluyendo el profesor, la matrícula y la hora y lugar de las clases. Para cada clase-estudiante se registra una calificación.7. Un restaurante posee una serie de mesas en las que se sientan clientes y que a su vez son atendidas por camareros. Los camareros van tomando nota de los distintos platos que piden los clientes que son preparados por los cocineros. modelar el sistema de información para que se puedan emitir facturas de la forma más detallada posible. Considerar que habrán clientes de los cuales conozcamos sus preferencias (es decir que tendrán un IdCliente, y otros que quieran permanecer anónimos en el restaurante.

AUTOEVALUACIÓN

62

Modelo Entidad Relación

Corporación Universitaria del Caribe - CECAR

8. Una oficina de registro de una universidad mantiene datos acerca de las siguientes entidades: (a) asignaturas, incluyendo el número, título, programa, y prerrequisitos; (b) ofertas de asignaturas, incluyendo número de asignatura, año, semestre, número de sec-ción, profesor(es), horarios y aulas; (c) estudiantes, incluyendo IdEstudiante, nombre y programa; y (d) profesores, incluyendo número de identificación, nombre, departamento y título. Además, la matrícula de los estudiantes en asignaturas y las notas concedidas a estudiantes en cada asignatura en la que están matriculados se deben modelar adecua-damente. Constrúyase un diagrama E-R para la oficina de registro. Documéntense todas las decisiones que se hagan acerca de restricciones de correspondencia.

Modelo Relacional

Unidad

3

Corporación Universitaria del Caribe - CECAR

64

Modelo Relacional

PRESENTACIÓN

En esta unidad se presenta el modelo relacional, que es el modelo lógico en el que se basan la mayoría de los SMBD comerciales en uso hoy día. Se estudiarán los fundamentos del modelo relacional, que proporciona una forma muy simple y potente de representar datos. Se empieza exponiendo una breve historia del modelo re-lacional, para luego pasar a la estructura básica, el esquema de

base de datos, claves, diagramas de esquema y lenguaje de consulta.

La finalidad de esta tercera unidad es que el estudiante aprenda a interpretar el modelo relacional a partir de sus estructuras de datos y reglas de integridad y al mismo tiempo el estudiante aprenda a convertir una representación de base de datos de un diagrama E-R a un formato de tablas que es la base para la derivación de un diseño de base de datos relacional.

En esta unidad se empleara la herramienta MySql Workbench, la cual ayudará en la construcción del modelo relacional, en el anexo 2 del presente módulo encontrará el manual de instalación y link de descarga para obtener la herra-mienta.

PROBLEMA

¿Cómo puedo usar los fundamentos del modelo relacional para la construcción de una base de datos, utilizando la herramienta MySql Workbench?

Bases de Datos

65

Dirección de Educación Abierta y a Distancia y Virtualidad

COMPETENCIAS ESPECÍFICAS

»Interpreta un modelo relacional a partir de su estructura de datos y reglas de integridad.

»Describe las características del modelo relacional.

»Interpreta cada una de las reglas de integridad manejadas en el modelo relacional.

»Ilustra el modelo E-R en el modelo relacional utilizando la herra-mienta MySql Workbench.

Corporación Universitaria del Caribe - CECAR

66

Modelo Relacional

ACTIVIDAD PREVIA: Trabajo independiente

»Antes de comenzar la lectura de esta tercera unidad responda de manera escrita lo que usted entiende por:

¿Qué entiendes por modelo relacional? ¿Qué es una tupla? ¿Qué es una clave? ¿Qué es una superclave? ¿Qué es un atributo, dominio y relación?

»Lea detenidamente la unidad III.»Una vez leída la unidad, confronte sus saberes previos con lo aprendido en la unidad.»Analice detenidamente los temas tratados en la unidad y elabore un análisis general

sobre esta. »Lea detenidamente el manual de usuario de la herramienta MySql Workbench que

encuentras en la sección de anexos.

ACTIVIDAD EN GRUPO

»Reunidos en sus grupos confronte sus saberes previos con los de sus compañeros.»Socializar en el grupo los diferentes temas tratados en la Unidad III.»Desarrollar las actividades propuestas al final de la unidad.

DINÁMICA PARA CONSTRUIR CONOCIMIENTO

Bases de Datos

67

Dirección de Educación Abierta y a Distancia y Virtualidad

MODELO RELACIONAL

Tomando lo expresado por Korth & Sil-berschatz (2000), desde la perspectiva

histórica, el modelo de datos relacional es relativamente nuevo. Los primeros siste-mas de base de datos estaban basados en el modelo de red o en el modelo de datos jerárquicos. Estos dos modelos están más íntimamente ligados a la implementación física de la base de datos que el modelo relacional.

En los años siguientes a la introducción del modelo relacional se ha desarrollado una teoría para la base de datos relacionales. Esta teoría ayuda al diseño de base de da-tos relacional y al procedimiento eficiente de solicitudes de información a la base de datos por parte del usuario.

El modelo relacional constituye una alterna-tiva para la organización y representación de la información que se pretende almace-nar en una base de datos. Se trata de un modelo teórico matemático que, además de proporcionarnos los elementos básicos de modelado (las relaciones), incluye un conjunto de operadores (definidos en forma de un álgebra relacional) para su manipula-ción, sin ambigüedad posible.

El carácter formal del modelo relacional hace relativamente sencilla su representa-ción y gestión por medio de herramientas informáticas. No es casual, pues, que haya sido elegido como referencia para la cons-trucción de la gran mayoría de los Sistemas de Gestión de Bases de Datos comerciales disponibles en el mercado; ni tampoco que sea también habitualmente seleccionado como modelo de referencia para la elabo-ración del esquema lógico de una base de

datos, como tercer paso de la habitual me-todología de diseño de base de datos.

En el modelo relacional se basa en el con-cepto matemático de relación. En este mo-delo, la información se representa en forma de “tablas” o relaciones, donde cada fila de la tabla se interpreta como una relación ordenada de valores. La primera persona en introducir el término de la teorías de las relaciones fue Cood a finales de los seten-tas, el cual propuso “la vista relacional de los datos… parece ser superior al modelo en grafos o red… proporciona un medio de describir datos con su estructura natural únicamente, es decir sin superponer nin-guna estructura adicional con el propósito de su representación en la máquina”. Cood también expresa “se propone un modelo de datos relacional de datos como una base para proteger a los usuarios de sistemas de datos formateados de los cambios que potencialmente pueden alterar la represen-tación de los datos, causados por el creci-miento del banco de datos y por los cam-bios en caminos de acceso”.

Para conseguir lo propuesto Cood introdu-ce el concepto de relación (tabla) como es-tructura básica del modelo. Todos los datos de una base de datos se representan en forma de relaciones cuyo contenido varía en el tiempo. Una relación, en terminología relacional, es un conjunto de filas (tuplas) con unas determinadas características.

El modelo relacional representa la segun-da generación de los SMBD, en el, todos los datos están estructurados a nivel lógico como tablas formadas por filas y columnas, aunque a nivel físico pueden tener una es-tructura distinta. Un punto fuerte del mode-lo relacional es la sencillez de su estructura

Corporación Universitaria del Caribe - CECAR

68

Modelo Relacional

lógica. Pero detrás de esa simple estruc-tura hay un fundamento teórico importante del que carecen los SMBD de la primera generación, lo que constituye otro punto a su favor.

En los últimos años, se han propuesto algu-nas extensiones al modelo relacional para capturar mejor el significado de los datos, para disponer de los conceptos de la orien-tación a objetos y para disponer de capaci-dad deductiva.

El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de los datos: Estructura de datos, integridad de datos, manejo de datos.

3.1 ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES

El modelo relacional representa la base de datos como una colección de relaciones. En términos informales, cada relación se-meja una tabla o, hasta cierto, punto, un archivo simple. Si visualizamos una relación como una ta-bla de valores, cada fila de la tabla repre-senta una colección de datos relacionados entre sí. Dichos valores se pueden interpre-tar como hechos que describen una enti-dad o un vínculo ente entidades del mundo real. El nombre de tabla y los nombres de las columnas ayudan a interpretar el signi-ficado de los valores que están en cada fila de la tabla. En la terminología del modelo relacional, una fila se denomina tupla, una cabecera de columna es un atributo y la tabla es una relación. El tipo de datos describe los tipos de valores que pueden aparecer en cada columna se llama dominio.

Dominio: es un conjunto de valores atómi-cos. Por atómico queremos decir que cada valor del dominio es indivisible en lo que se refiere al modelo relacional. Un método co-mún de especificación de los dominios con-siste en especificar un tipo de datos al cual pertenecen los valores que constituyen el dominio. Es muy especificar un nombre para el dominio que ayude a interpretar sus valores. Estos son algunos ejemplos de do-minio.»NumeroSeguridadSocial: es el conjun-

to de números del seguro social válidos formados por nueve dígitos.

»NombreApellido: es el conjunto de nom-bres y apellidos de personas.

»Teléfonos: Es el conjunto de números telefónicos de siete dígitos cálidos den-tro de un área específica.

»FechaNacimiento: conjunto de fechas de nacimientos de personas.

Las anteriores son definiciones lógicas de dominio. También debe especificar un tipo de dato o formato para cada dominio, por ejemplo, el domino FechaNacimiento, se puede declarar como una cadena de carac-teres de la forma DD-MM-AAAA donde DD es el día, MM es el mes en forma numérica y AAAA es el año o bien declararse como fecha corta, en el caso del dominio Teléfo-nos, se considera como cadena de caracte-res de la forma (XX)XXXXXXX donde (XX) es el indicativo de la ciudad y XXXXXXX es el número telefónico, o bien de la forma (OPER)NUM, donde OPER es el operador del servicio de telefonía celular y NUM es el número del teléfono celular. En el caso del dominio NombreApellido, el tipo de datos es cadenas de caracteres.

Todo dominio sebe tener un nombre, por el cual nos podemos referir a él, y un tipo de

Bases de Datos

69

Dirección de Educación Abierta y a Distancia y Virtualidad

datos y un formato. También puede incluirse información adicional para interpretar los valores de un dominio; por ejemplo, un dominio numérico como Peso, deberá especificar las unidades de medición (libra o kilogramos).

Atributo: se dice que un atributo A es el papel que juega un determinado dominio D en una relación; se dice que D es el dominio de A y se denota como dom(A), así el atributo grado de la tabla ESTUDIANTE, nos indica que dicho dominio tiene el papel de grado del estudiante referido en la tabla en mención.

Es importante señalar que es usual dar el mismo nombre al atributo y al dominio subya-cente. En el caso de que sean varios los atributos de una misma tabla definidos sobre el mismo dominio, habrá que darles nombres distintos, ya que en una tabla no puede haber dos atributos con el mismo nombre.

Relación: se compone de un nombre de relación y una lista de atributos. Cada atributo es el nombre de un papel desempeñado por algún dominio. El grado de una relación es el número de atributos de su esquema de relación. Por ejemplo, en el siguiente esquema de relación, tenemos una relación de grado 13, que describe un estudiante:ESTUDIANTE (IdEstudiante, NombreApellido, FechaNac, Direccion, Teléfono, E-mail, Celular, Edad, Peso, Talla, Grado, Grupo, Jornada)

En este esquema de relación, ESTUDIANTE es el nombre de la relación, la cual tiene 13 atributos, se puede especificar los siguientes dominios de algunos de los atributos de la relación ESTUDIANTE = dom (NombreApellido) = NombreApellido, dom (FechaNac) = FechaNac; dom (Direccion) = Teléfono. Una relación es el conjunto de n-tuplas, cada una de estas es una lista ordenada de n valores, donde cada valor es un elemento o bien un valor nulo especial.

En la figura 4 se muestra un ejemplo de una relación ESTUDIANTE, cada tupla de la relación representa una entidad particular. Se presenta la relación en forma de tabla, en la que cada tupla aparece como fila y cada atributo corresponde a una cabecera de columna que indica un papel o interpretación de los valores de esa columna. Los valores nulos, son aquellos que representan atributos cuyos valores se desconocen o no existen.

Corporación Universitaria del Caribe - CECAR

70

Modelo Relacional

Figura 3,0

Tener en cuenta que, es posible que varios atributos tengan el mismo dominio. Los atri-butos indican diferentes papeles.

3.1.1 Características de las relaciones

Hay ciertas características a tener en cuenta en las relaciones de una tabla. A continua-ción se muestran algunas de ellas.

Orden de las tuplas en una relación: los elementos no están ordenados, por tanto, las tuplas de una relación no tienen un orden específico.El ordenamiento de las tuplas no forma parte de la definición de una relación, porque la relación interna representa los hechos a nivel lógico o abstracto.

Orden de los valores dentro de una tupla: una n-tupla es una lista de n-valores, así que el orden de los valores de una tupla es importante. No obstante, en un nivel lógico, el orden de los atributos y de sus valores en realidad no es importante en tanto se mantenga la correspondencia entre atributos y valores.

Valores en las tuplas: cada valor en una tupla es un valor atómico; esto es, no es divisible en componentes en lo que respecta al modelo relacional.

Representación de una relación: el esquema de una relación se puede representar como una aclaración o como un tipo de afirmación, por ejemplo, el esquema de relación ESTU-DIANTE de la figura 4, se observa que esta entidad tiene atributos, IdEstudiante, IdDocente, NombreApellido, FechaNac, Dirección, Teléfono, E-mail, Celular, Edad, Peso, Talla, Grado, Grupo y Jornada, así, cada tupla de la relación se puede representar como un hecho particular de una declaración. Por ejemplo, la segunda tupla de la entidad ES-TUDIANTE, mostrada en figura 4, establece un hecho de que existe un Estudiante, que tiene por nombre Eder José Abad Puentes, con número de identificación 110048423, con fecha de nacimiento 02/11/2007 y así sucesivamente.

Bases de Datos

71

Dirección de Educación Abierta y a Distancia y Virtualidad

3.2 Esquema de la bases de datos relacional

Para representar el esquema de una base de datos relacional se debe dar el nombre de sus relaciones, los atributos de estas, los dominios sobre los que se definen estos atribu-tos, las claves primarias.El esquema de la base de datos del observador del estudiante es el siguiente:

En el esquema anterior, los nombres de las relaciones aparecen seguidos de los nom-bres de los atributos. Las claves primarias son los atributos subrayados.

3.3 Claves

Los conceptos de superclave, de clave candidata y de clave primaria, son aplicables en el modelo relacional.Si el esquema de la base de datos relacional se basa en las tablas derivadas de un es-quema E-R es posible determinar la clave primaria del esquena de una relación a partir de las claves primarias de los conjuntos de entidades o de relaciones de los que se deriva el esquema:Conjunto de entidades fuertes: la calve primaria del conjunto de entidades se convierte en la clave primaria de la relación.Conjunto de entidades débiles: la tabla y las relaciones correspondientes a un conjunto

Corporación Universitaria del Caribe - CECAR

72

Modelo Relacional

de entidades débiles incluyen: los atributos del conjunto de entidades débiles y la clave primaria del conjunto de entidades fuertes del que depende el conjunto de entidades dé-biles.Conjunto de relaciones: la unión de las claves primarias de los conjuntos de entidades relacionadas de los conjuntos de entidades relacionadas se transforma en una supercla-ve de la relación. Si la relación es de varios a varios, esta superclave es también la clave primaria.

En el modelo relacional es necesario disponer de un modo de especificar la manera en que las tuplas de una relación dada se distinguen entre sí, lo cual se expresa en términos de sus atributos. En otras palabras debe haber un atributo que identifique de manera única esa entidad.

En el modelo relacional se tiene una superclave, la cual es un conjunto de uno o varios atributos que, considerados conjuntamente, permiten identificar de manera única a una tupla de la relación; se usa también una clave primaria o clave candidata es el atributo que el diseñador de la base de datos como medio principal para identificar una tupla de una relación, esta clave debe escogerse de manera que los valores de sus atributos no se modifiquen nunca, o muy rara vez.

Cabe añadir que, en el esquema del modelo relacional se pueden incluir entre sus atri-butos la clave primaria de otro esquema de la relación, este atributo se denomina clave externa, por ejemplo, el atributo IdEstudiante del esquema InformacionAcademica, es una clave externa que pertenece al esquema Estudiante.

El esquema de la base de datos, junto a las dependencias de clave primaria y externa, se muestra en la figura 3,1 la cual muestra el diagrama del esquema del ejemplo que veni-mos tratado a lo largo del presente modulo que es el Observador del Estudiante.

Bases de Datos

73

Dirección de Educación Abierta y a Distancia y Virtualidad

3.4 Lenguaje de consulta

Es un lenguaje en el que los usuarios solicitan información de la base de datos. Estos lenguajes suelen ser de un nivel superior que el de los lenguajes de programación habi-tuales. Los lenguajes de consultas pueden clasificarse como procedimentales o no pro-cedimentales. »Lenguajes de consultas procedimentales: el usuario indica al sistema que lleve a

cabo una serie de operaciones en la base de datos para calcular el resultado desea-do.

»Lenguajes no procedimentales: el usuario describe la información deseada sin dar un procedimientos concreto para obtener esa información

Los sistemas comerciales de base de datos relacional ofrecen lenguajes de consulta que incluyen elementos de los enfoques procedimentales y no procedimentales. En la siguiente unidad se estudiara el lenguaje de consultas SQL.

3.5 Transformación del modelo E-R al modelo relacional

A continuación se presentan los pasos a tener en cuenta para convertir el modelo E-R al esquema de base de datos relacional correspondiente.

»Paso 1: por cada tipo normal de entidades E del esquema E-R, se crea una relación

Corporación Universitaria del Caribe - CECAR

74

Modelo Relacional

R que contenga los atributos simples de E. Se elige uno de los atributos clave de E como clave primaria de R. Para el ejemplo del Observador del estudiante se crean las relaciones: ESTUDIANTE, FAMILIAR, INFORMACIONACADEMICA, SEGURI-DADSOCIAL, DOCDIRGRUPO, ANOTACION Y DETALLE.

»Paso 2: Se determinan los atributos de cada entidad y se integran al modelo relacio-nal, al mismo tiempo se escoge la clave primaria para cada uno de las relaciones. Este paso quedaría así en nuestro ejemplo:

Claves: IdEstudiante, NombreEntidadSS

» Paso 3: Se establece la integridad de entidades, en la cual se estable que ningún valor puede de la clave primaria puede ser nulo, al mismo tiempo se verifica la restric-ción de integridad referencial en la que se especifica entre dos relaciones y sirve para mantener la consistencia entre tuplas de las relaciones. Es importante señalar que el usuario de la base de datos relacionar debe tener presentes siempre los atributos de

Bases de Datos

75

Dirección de Educación Abierta y a Distancia y Virtualidad

clave externa para utilizarlos correctamente cuando combine tuplas relacionadas de dos o más relaciones, como se observa en la figura 3,2.

Figura 3,2

A continuación, se muestra un resumen de las correspondencias entre los elementos y restricciones del modelo E-R y el modelo relacional.

MODELO E-R MODELO RELACIONALTipo de entidades Relación “Entidad”Tipo de vínculos 1:1 o 1:N Calve externa (o relación “vinculo”)Tipo de vínculos M:N Relación “vinculo” y dos claves externasTipo de vínculos n-arios Relación “vinculo” y n claves externasAtributos simples AtributosAtributo compuestos Conjunto de atributos componentes simples

Atributo multivalorado Relación y clave externaConjunto de valores DominoAtributo clave Clave primaria (o secundaria)

Corporación Universitaria del Caribe - CECAR

76

Modelo Relacional

1.Describa las diferencias de los significados de relación y esquema de relación.

2.Explique los motivos del por qué se pueden introducir valores nulos en las base de datos relacional.

3.Explique la correspondencia ente los elementos del modelo E-R y el modelo relacional.

4.Defina los siguientes términos: atributo (simples, compuestos, multi-valuados), n-tupla, esquema de relación, grado de relación, clave (pri-maria, externa, superclave).

5.Transformar el modelo E-R de la base de datos Biblioteca escolar al modelo relacional. (utiliza la herramienta MySql Workbench).

ACTIVIDAD

Bases de Datos

77

Dirección de Educación Abierta y a Distancia y Virtualidad

1. Diseñe una base de datos relacional para la oficina de registro de una universi-dad. La oficina conserva datos sobre cada curso, incluyendo el profesor, el núme-ro de estudiantes matriculados y la hora y el lugar de las clases. Por cada pareja estudiante-curso se guarda una calificación.

2. Convierta el siguiente modelo E-R al modelo relacional.

3. Diseñe un modelo relacional para una base de datos para una pequeña empre-sa debe contener información acerca de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en documentos varios: • Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000 de pesos), Descuento.• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese artículo en cada fábrica, Descripción del artículo.• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son varias líneas, en cada línea se especifican el número del artículo pedido y la cantidad. Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver cuántos artículos (en total) provee la fábrica. También por información estratégica, se podría incluir información de fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.

Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye hora.

AUTOEVALUACIÓN

Corporación Universitaria del Caribe - CECAR

78

Modelo Relacional

Lenguaje Estructurado de Consulta

Unidad

4

80

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

PRESENTACIÓN

En la unidad III, se estudia cómo modelar los datos creando un modelo E-R y luego el modelo relacional, y así diseñar una base de datos. La técnica utilizada para obtener un buen modelo de datos se denomina análisis de datos.

Sin embargo, los sistemas de bases de datos necesitan un len-guaje de consulta que sea cómodo para el usuario. Por lo que en la presente unidad se estudiará el lenguaje estructurado de consulta SQL, el cual es un lenguaje estándar para trabajar con base de datos relacionales y es soportado prácticamente por todos los productos del mercado.

Usando SQL es posible definir la estructura de los datos, modificar los datos de la base de datos y especificar las restricciones de seguridad.

Como apoyo a esta unidad y al estudio del lenguaje estructurado de consulta se utilizara el gestor de base de datos MySql Workbench. El manual de usuario y link de descargas se encuentra en los anexos del presente modulo.

PROBLEMA

¿Qué debo conocer del Lenguaje Estructurado de Consulta – SQL, para desarrollar una base de datos a través de la aplicación MySql Wor-kbench?

Bases de Datos

81

Dirección de Educación Abierta y a Distancia y Virtualidad

COMPETENCIAS ESPECÍFICAS

» Identifica el lenguaje estructurado de consulta – SQL, para trabajar con base de datos relacionales.

»Manipula una base de datos por medio de las operaciones SQL utilizando el gestor de base de datos MySql Workbench.

82

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

ACTIVIDAD PREVIA: Trabajo independiente

»Antes de comenzar la lectura de esta primera unidad responda de manera escrita lo que usted entiende por:

Lenguaje estructurado de consulta. ¿Qué es una cláusula? ¿Qué entiendes por modificar una base de datos? ¿Qué es inserción? ¿Qué es actualizar?

Lea detenidamente la unidad IV.

» Una vez leída la unidad, confronte sus saberes previos con lo aprendido en la unidad.» Analice detenidamente los temas tratados en la unidad y elabore un análisis general

sobre esta. » Lea detenidamente el manual de usuario de la aplicación MySql Workbench e instale el pro-

grama, ya que en este se realizaran las actividades propuestas de esta unidad.

ACTIVIDAD EN GRUPO

» Reunidos en sus grupos confronten sus saberes previos con los de sus compañeros.» Socializar en el grupo los diferentes temas tratados en la Unidad IV.» Desarrollar las actividades propuestas en la unidad.

DINÁMICA PARA CONSTRUIR CONOCIMIENTO

Bases de Datos

83

Dirección de Educación Abierta y a Distancia y Virtualidad

4.1 INTRODUCCIÓN AL LENGUAJE ESTRUCTURADO DE CONSULTA (SQL)

Es un lenguaje surgido de un proyecto de investigación de IBM para el acceso a bases de datos relacionales. Actualmente se ha convertido en un estándar de lenguaje de

bases de datos, y la mayoría de los sistemas de bases de datos lo soportan, desde siste-mas para ordenadores personales, hasta grandes ordenadores.Por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL que pue-de variar de un sistema a otro, pero con cambios que no suponen ninguna complicación para alguien que conozca un SQL concreto, como el que vamos a estudiar en esta uni-dad, MySql Workbench.Como su nombre indica, el SQL nos permite realizar consultas a la base de datos. Pero el nombre se queda corto ya que SQL además realiza funciones de definición, control y gestión de la base de datos. El 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 indi-viduales— 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. El lenguaje tiene varios componentes:

Lenguaje de definición de datos: El 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 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, Cobol, Pascal y Fortran.

Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

Los ejemplos de esta unidad se basaran en el observador del estudiante que se ha ve-nido trabajando en cada una de las unidades. A continuación se muestra el esquema

84

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

relacional, con los atributos y las calves primarias subrayadas.ESTUDIANTE (IdEstudiante, IdDocente, NombreApellido, FechaNac, Direccion, Telefo-no, E-mail, Celular, Edad, Peso, Talla, Grado, Grupo, Jornada, IdFamiliar)FAMILIAR (IdFamiliar, NombreApellido, FechaNac, Direccion, Telefono, E-mail, Celular, NivelAcadémico, RasgoFamiliar)INFOACADEMICA (CodEstudiante, NomColProce, GradosCursados, TipoInstuEdu, Mo-tivoRetiro, FechaRetiro)SEGURIDADSOCIAL (NomEntAseguradora, TipoSegSocial, IdEstudiante)ANOTACION (IdAnotacion, CodEstudiante, CodDocente, FechaAnotación, ObserReali-zada, AcciónTomada, Seguimiento, Compromisos)DOCENTEDIRGRUPO (IdDocente, NombreApellidos, Dirección, Teléfono, E-mail, Profe-sión, GradoAcargo)DETALLE (IdEstudiante, IdDocente, AñoLectivo)

4.1.1 Componentes del SQL

El lenguaje está compuesto por comandos, clausulas, operadores y funciones agregadas. Estos elementos se combinan en las instrucciones para crear, actuali-zar y manipular las bases de datos.

Existen dos tipos de comandos SQL: los DLL que permiten crear y definir nuevas bases de datos, campos e índices y los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DLLComando Descripción CREATE Utilizado para crear nuevas tablas, campos e índicesDROP Empleado para eliminar tablas e índices

ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

Comandos DMLComando Descripción

SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.

INSERT Utilizado para insertar o adicionar datos en la base de datos en una única opera-ción

UPDATE Utilizado para modificar los valores de los campos y registros especificados.DELETE Utilizado para eliminar registros de una tabla de una base de datos.

Clausulas: son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

Bases de Datos

85

Dirección de Educación Abierta y a Distancia y Virtualidad

Clausula Descripción FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros

WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar

GROUP BY Utilizada para separar los registros seleccionados en un grupo especificoHAVING Utilizada para expresar la condición que debe satisfacer cada grupo

ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especifico.

OPERADORES LÓGICOSOperador Uso

AND Es el “Y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si am-bas son ciertas.

OR Es el “O” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

OPERADORES DE COMPARACIÓNOperador Uso< Menor que> Mayor que<> Distinto de<= Menor igual que >= Mayor igual que= Igual queBETWEEN Utilizado para especificar un intervalo de valores.LIKE Utilizado en la comparación de un modeloIN Utilizado para especificar registros de una base de datos

FUNCIONES DE AGREGADO: se usan dentro de una clausula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.Función Descripción AVG Utilizada para calcular el promedio de los valores de un campo determinadoCOUNT Utilizada para devolver el número de registros de la selecciónSUM Utilizada para devolver la suma de todos los valores de un campo determinadoMAX Utilizada para devolver el valor más alto de un campo especificadoMIN Utilizada para devolver el valor más bajo de un campo especificado

86

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

4.2 ESTRUCTURA BÁSICA

Una base de datos relacional consiste en un conjunto de relaciones, a cada una de las cuales se les asigna un nombre único.SQL permite el uso de valores nulos para indicar que el valor o bien es desconocido, o no existe. La estructura básica de una expresión SQL consiste en tres clausulas: select, from y whe-re. Las consultas habituales de SQL tienen la forma: select A1, A2, …, An from r1, r2, …, rm where P

Donde cada A1 representa un atributo, r1 una relación (las tablas) y P el predicado, el cual es la expresión a validar.

4.2.1 Cláusula select

El resultado de las consultas es una relación. Considere la consulta simple basada en el ejemplo el Observador del estudiante: obtener el nombre de todos los estudiantes de la relación Estudiante. La consulta queda de la siguiente forma:

select NombreApellido from ESTUDIANTE

Recuerde que: debe tener presente que los nombres de los atributos y de las tablas, deben estar escritos con la misma gramática utilizada al momento de diagramarlas.

Al momento de generar la consulta se mostraran todos los nombres de los estudiantes pertenecientes a la tabla estudiantes.

Bases de Datos

87

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 4.0

Miremos el siguiente ejemplo, obtener los nombre de las instituciones de donde proceden los estudiantes, la consulta se realiza de la siguiente forma:select NomColeProcefrom INFOACADEMICA

Figura 4.1

88

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

En esta consulta se pueden generar datos duplicados ya que varios estudiantes pueden proceder de la misma institución educativa, si deseamos que no halla duplicados utiliza-mos la palabra distinct después del select, es decir:

Select distinct NomColeProcefrom INFOACADEMICA

Figura 4.2

Si queremos consultar todos los datos de una tabla utilizamos el símbolo asterisco “*”, como se expresa a continuación:Select *from DocenteDirGrupo

Bases de Datos

89

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 4.3

4.2.2 Cláusula from

En esta cláusula se indican la tabla o tablas a las que vamos a tener acceso. Las tablas deben existir, si se enuncia una tabla en esta cláusula que no esté especificada generara un error en la consulta. La forma de utilizar esta cláusula ya se ha descrito en los ejem-plos anteriores.

4.2.3 Cláusula WHERE

Se utiliza para seleccionar aquellos registros que cumplen una o más condiciones. Ob-servemos el siguiente ejemplo: “obtener todos los estudiantes que pertenezcan al grado 6A”, la consulta se escribe de la siguiente forma:

select GradoGrupofrom ESTUDIANTEwhere GradoGrupo = ‘6A’

90

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

Figura 4.4Ahora observemos el siguiente ejemplo en el cual se utilizan los operadores lógicos y operadores de comparación: “obtener todos los estudiantes que pertenezcan al grado 6ª y tengan más de 12 años de edad”

select GradoGrupofrom ESTUDIANTEwhere GradoGrupo = ‘6A’ and Edad > 12

Figura 4.4

Bases de Datos

91

Dirección de Educación Abierta y a Distancia y Virtualidad

Si deseamos conocer más de un atributo de la consulta que se esté realizando solo lo incluimos en la cláusula select, tomando el ejemplo anterior la consulta quedaría de la siguiente forma:select GradoGrupo, Edadfrom ESTUDIANTEwhere GradoGrupo = ‘6A’ and Edad > 12

Figura 4.5

ACTIVIDAD

Considerando el ejemplo del observador del estudiante realice las siguientes consultas y escriba las clausulas SQL:

1. Muestra los nombres de los docentes directores de grupo.2. Muestra los Nombres de los padres de familia de un estudiante en particular.3. Realiza la consulta de los estudiantes que tienen como seguridad social el SISBEN.4. Cuáles son los nombres y grado de los estudiantes que tiene una edad entre 13 y

17 años.5. Cuantos estudiantes hay registrados en la institución educativa. 6. Ordenar la consulta del punto 1.7. Consulte los estudiantes que tienen como familiar a los abuelos.8. Mostrar todas las observaciones realizadas.9. Mostrar las observaciones realizadas a un estudiante en particular.10. Mostrar a los docentes directores de grupos que tengan como profesión ’licenciado

en matemáticas’

92

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

4.3 MODIFICACIÓN DE LA BASE DE DATOS

En el apartado anterior se estudió como realizar consultas, ahora se estudiara cómo aña-dir, eliminar y modificar información utilizando SQL, este tipo de consultas son llamadas de acción, porque no devuelven ningún registro.

4.3.1 Borrado

Crea una consulta de elimina registros de una o más de las tablas listadas en las clausula from que satisfagan la cláusula where. Las solicitudes de borrado se expresan casi igual que las consultas. Solo se pueden borrar tuplas completas y no se puede borrar solo va-lores de atributos concretos. La sintaxis utilizada es la siguiente:delete from rwhere P;

Donde P representa el criterio y r la relación. Se puede utilizar delete para eliminar regis-tros de una única tabla o desde carios lados de una relación uno a muchos. Si se desea borrar tuplas de varias relaciones hay que utilizar una orden delete por cada relación. Una vez que se ha eliminado los registros no se puede deshacer la operación. Se reco-mienda realizar una copia de seguridad de la base de datos en caso de que se elimine un registro equivocadamente.A continuación se muestran unos ejemplos utilizando la consulta delete:

Borra todas las tuplas de la relación DETALLEdelete from DETALLE

Borra todas las tuplas con E-mail de la tabla ESTUDIANTEdelete from ESTUDIANTEwhere E-mail <> NULL;

Borrar todas las profesiones que sean iguales a Administración de la tabla DOCENTE-DIRGRUPO.

delete from DocenteDirGrupowhere Profesion = ‘Adminsitracion’

4.3.2 Inserción

Por medio de esta consulta se agrega un registro en una tabla. Se le conoce como una consulta de datos añadidos. Esta consulta puede ser de dos tipos: insertar un único re-gistro o insertar en una tabla los registros contenidos en otra tabla.

Bases de Datos

93

Dirección de Educación Abierta y a Distancia y Virtualidad

Para insertar los registros en una relación, se especifica la tupla que se desea insertar, se debe tener encuenta que los valores de los atributos de las tuplas que se inserten deben pertenecer al dominio de los atributos y deben estar en el mismo orden en que fueron registrados en las tablas. La sintaxis es la siguiente: insert into tabla values (valaor1, valor2, valorN…)Realicemos una instrucción insert sencilla, supóngase que se desea insertar la informa-ción académica de un nuevo estudiante, la identificación del estudiante es 11002247858, colegio de procedencia Institución Educativa San Juan Bautista, ultimo grado realizado séptimo (7) de secundaria, jornada matinal, colegio público, el retiro se debió a traslado de los padres, no repitió ningún grado y se retiró en el año 2012. La consulta queda de la siguiente forma:

insert into INFOACDEMICAvalues (11002247858, ‘Institución Educativa San Juan Bautista’, ‘Séptimo’, ‘Matinal’, ‘Pu-blico’, ‘Traslado de los padres’, ‘No repitió ningún grado’, ‘2012’);

En caso dado que no se recuerde el orden de los atributos SQL permite que los atributos se especifiquen en la cláusula insert tomando el ejemplo anterior la instrucción quedaría:

insert into INFOACDEMICA(IdEstudiante, NomColeProcedencia, GradosRealizados, Jornada, TipoColegio, MotivoRetiro, GradosRepetidos, AñoRetiro)values (11002247858, ‘Institución Educativa San Juan Bautista’, ‘Séptimo’, ‘Matinal’, ‘Pu-blico’, ‘Traslado de los padres’, ‘No repitió ningún grado’, ‘2012’);

Es posible dar valores a algunos de los atributos del esquema para las tablas insertadas, a los atributos restantes se les asigna un valor nulo, que se denota por null, por ejemplo: insert into INFOACDEMICAvalues (11002247858, ‘Institución Educativa San Juan Bautista’, ‘Séptimo’, ‘Matinal’, null, ‘Traslado de los padres’, ‘No repitió ningún grado’, ‘2012’);

94

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

4.3.3 Actualización

En determinadas situaciones se ve la necesidad de modificar un valor dentro de una tupla sin cambiar tos los valores de estas, para ello se debe utilizar la instrucción update. La sintaxis es: update tabla set campo1=valor1, campo2=valor2,… where criterio;

Veamos los siguientes ejemplos: Actualizar el año lectivo de la tabla DETALLE

update DETALLEset añolectivo = 2013

Actualizar el grado a cargo del docente director de grupo Leyla Ruiz

Update DOCENTEDIRGRUPOSet GrupoAcargo = ‘6A’Where NombreApellido = ‘Leyla Ruiz’

Actualizar todos los registros de la taba SEGURIDADSOCIALupdate SEGURIDADSOCIALset NomSeguridadSS = ‘FAMISALUD’

Update es muy útil cuando se desea cambiar un gran número de registros o cuando estos se encuentran en múltiples tablas. Otro dato a tener encuenta es que la instrucción no genera ningún resultado, para saber que registros se van a cambiar, hay que examinar primero, el resultado de una consulta de selección que utilice el mismo criterio y después, ejecutar la consulta de actualización. Si en una consulta de actualización suprimimos la cláusula where todos los registros se la tabla señalada serán actualizados.

Bases de Datos

95

Dirección de Educación Abierta y a Distancia y Virtualidad

ACTIVIDAD

Considerando el ejemplo del observador del estudiante realice las siguientes consultas y escriba las clausulas SQL:

1. Modificar la base de datos de forma que el docente director de grupo Santos quede a cargo con el grupo 7B.

2. Modificar los RH de los estudiantes.3. Modificar las anotaciones realizadas por el docente Rodríguez.4. Insertar los datos de un familiar.5. Borrar las tuplas de la relación Seguridad Social.

4.5 GESTOR DE BASE DE DATOS MYSQL WORKBENCH

4.5.1 ¿Qué es MySQL Workbench?

MySQL Workbench es una aplicación para el diseño y documentación de bases de da-tos (sucesora de la aplicación DBDesigner4) pensada para ser usada con el sistema de gestión de bases de datos MySQL (recién adquirido por Sun Microsystems). Existen dos versiones del producto, una es open source y la otra es una versión comercial. Eviden-temente, la versión comercial proporciona algunas funcionalidades que pueden resultar de interés en algún ámbito, aunque la versión open source es más que suficiente para la realización de la práctica.

4.5.2 ¿Cómo conseguir la aplicación?

Existen versiones para Windows, Linux y Mac. Hay que tener en cuen-ta que para los dos últimos sistemas las versiones son Betas. Los links de descarga son los siguientes: Windows y Linux: http://dev.mysql.com/down-loads/workbench/5.1.html y Mac: http://dev.mysql.com/workbench/?p=182

4.5.3 ¿Para qué la usaremos?

Lo que se pretende con el uso de la aplicación es facilitar la realización de la segunda práctica de la asignatura y, por este motivo, este mini-tutorial solo se centra en las carac-terísticas necesarias para la realización de la misma.La herramienta podría usarse para realizar un diagrama EE-R, y esa es su principal fun-

96

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

ción: primero diseñar el diagrama EE-R, implementándolo sobre la herramienta y a partir de él obtener el diagrama del esquema relacional y también las sentencias de creación de tablas, vistas e índices de manera automática. Como tiene varias limitaciones para representar un diagrama E-R completo (no contempla el modelado de categorías, jerar-quías, retículas...), y el diagrama EE-R completo ya se ha realizado en la primera prácti-ca, se utilizará para representar el diagrama del esquema relacional que acompaña a la segunda práctica, o sea, las tablas y sus columnas, incluyendo las claves primarias, las claves foráneas y a quienes referencian, y todo ello mediante una interface gráfica que permitirá además generar las sentencias DDL de creación de tablas e índices, que, con algunas modificaciones, podrán adaptarse a lo solicitado en la práctica.Debemos tener presente en todo momento que vamos a añadir tablas y sus propieda-des, y obtener un diagrama del esquema relacional, y para ello usamos una herramienta que realmente está orientada a crear diagramas EER limitados, o sea, forzamos un poco las cosas, pero la herramienta lo permite. Para ello debemos prescindir de los concep-tos del modelado conceptual y centrarnos en los del modelo relacional, aunque en la herramienta trabajemos sobre el panel ‘EER Diagrams’. Así en el modelo relacional la vinculación entre dos tablas suele ser 1 a N y en algún caso 1 a 1, pero nunca N a N.

4.5.4 ¿Cómo crear un diagrama del esquema relacional?

Una vez abierta la aplicación, veremos algo similar a esto:

Figura 1Para crear el diagrama del esquema relacional necesario en la práctica, debemos hacer doble clic sobre el icono ‘Add Diagram’, como si lo que creásemos fuera un nuevo diagra-ma ER. Esto nos conducirá al siguiente interfaz:

Bases de Datos

97

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 2

4.5.5 ¿Cómo crear una tabla (una relación en el modelo relacional)?

1.- Clic sobre el icono Insertar Tabla.

2.- Clic en la posición del lienzo en la que queremos ver la tabla. Obtenemos lo siguiente:

Figura 33.- Haciendo doble clic sobre la tabla se desplegará un menú en la parte inferior del interfaz.

Figura 4En la pestaña ‘Table’, en el campo ‘Name’ se indicará el nombre de la tabla. Los campos ‘Collation’ y ‘Engine’ son relativos a MySQL y pueden obviarse.

98

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

4.5.6 ¿Cómo crear los atributos de una relación?

Partiendo de la Figura 4, desplegamos la pestaña Columns

Figura 5Column Name: nombre del atributo.Datatype: tipo de dato del atributo. Como la aplicación está pensada para MySQL y la práctica se realizará sobre Oracle, puede que existan tipos de datos válidos para Oracle que no lo son para el otro gestor. En este caso se elegirá un tipo de dato similar y se cambiará a mano en el script con las sentencias. Se recomienda ser lo más coherente posible al realizar esta tarea, es decir, para cada tipo de dato no disponible en MySQL, elegir siempre el mismo tipo de dato de sustitución. NN: añade la restricción NOT NULL para ese atributo. AI: Auto Incremento. No se debe marcar ya no es una característica de Oracle. Default: valor por defecto para el atributo.ColumnDetails.Flags: se utiliza para añadir la restricción de clave primaria (PRIMARY KEY). Para añadir una nueva columna solo es necesario hacer doble click en la fila que va a continuación de la última añadida (señalada con un punto rojo en la imagen). 4.5.7 ¿Cómo indicar que uno o varios atributos son clave primaria?

1.- Hacer doble click sobre la tabla en cuestión.2.- Abrir la pestaña ‘Columns’.3.- Seleccionar la columna que se desea utilizar como clave primaria. 4.- Marcar la opción PRIMARY KEY. NOTA: la aplicación no permite darle un nombre a la restricción de clave primaria. Esto debe hacerse manualmente sobre los scripts generados (si así se desea).

4.5.8 ¿Cómo se pueden declarar las vinculaciones de clave foránea?

A continuación se muestra el menú para crear los tipos de relación (1:1, 1:N y N:M) en un ER. En la práctica se usarán solo los 1:N y 1:N, pues son las vinculaciones que hay entre tablas en el modelo relacional:

Bases de Datos

99

Dirección de Educación Abierta y a Distancia y Virtualidad

Figura 6

El calificativo ‘identificadora’ indica si los atributos que forman parte de la clave foránea (lado N de la relación) deben formar parte también de la clave primaria de dicha entidad, lo que ocurre si una tabla proviene de un tipo de entidad débil o en el caso de atributos de tablas que provienen de tipos de relación N:M. Existen, al menos, dos formas diferentes de crear relaciones entre tablas: a través del menú de tabla o usando el menú antes propuesto.

a) A través del menú de tabla (recomendado):1.- Doble clic sobre la entidad del lado N de la relación.

2.- Crear los atributos que van a hacer la función de clave foránea (si no están definidos ya). 3.- Comprobar que existen los atributos en la tabla referenciada por la clave foránea. Si no existen deben crearse antes de continuar. 4.- En el menú de tabla , desplegar la pestaña ‘Foreing Keys’. Obtendremos lo siguiente:

Figura 7

Foreing Key Name: nombre de la restricción de clave foránea.

Referenced Table: tabla referenciada por la clave foránea.

Column: columna o columnas que van a formar parte de la clave foránea.

Referenced Column: columna o columnas que van a ser referenciadas por la clave foránea.

Foreing Key Options: útil para definir las acciones referenciales.

100

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

On Update: acciones referenciales para la actualización.

On Delete: acciones referenciales para el borrado.

b) Usando el menú: 1. Las tablas deben estar creadas.2. Se elige en el menú de la izquierda el tipo de relación que se desea. 3.Los retoques que se deseen hacer sobre la clave foránea se hacen siguiendo el

apartado 4.- del punto a).

4.5.9 ¿Cómo se gestionan los índices?

Para crear un índice haremos doble clic sobre la tabla que contiene los atributos y, una vez en el menú de tabla, desplegaremos la pestaña ‘Indexes’.

Figura 8Index Name: nombre del índice.

Type: en el menú desplegable elegiremos ‘INDEX’.Column: marcamos las columnas que formaran parte del índice. Order: índice ascendente o descendente.Index Options. Storage Type: podemos elegir entre BTREE, RTREE, HASH o ninguno de los anteriores.

NOTA: la aplicación crea índices automáticamente tanto para las claves primarias como para las foráneas.

Bases de Datos

101

Dirección de Educación Abierta y a Distancia y Virtualidad

102

Lenguaje Estructurado de Consulta

Corporación Universitaria del Caribe - CECAR

Utilice MySQl Workbench y realice el diagrama EER de la siguiente base de datos de un seguro.

Persona (IdConductor, nombre, dirección)Coche (Matricula, año, modelo)Accidente (Numero-informe, fecha, lugar)Es-dueño (IdConductor, matricula)Participó (IdConductor, coche, numero-informe, importe-daños)

Las claves primarias se han subrayado, ahora formule las siguientes consultas SQL.

a. Determine el número total de personas cuyos coches se hayan visto involucrados en un accidente en 2010.

b. Añadir un nuevo accidente a la base de datos; supóngase cualquier valor para los atributos necesarios.

c. Borrar el Mazda de “Martin Gómez”

ACTIVIDAD

Bases de Datos

103

Dirección de Educación Abierta y a Distancia y Virtualidad

1. Considere la base de datos Biblioteca Escolar que ha venido desarrollando a lo largo del módulo, y formule las siguientes consultas SQL:

» Cuántos libros que se han prestado en un determinado mes de cualquier año.» Cuántas veces se ha prestado cada libro.» Muestre los pedidos que se han realizado de un libro en particular.» Muestre los libros que han solicitado cada uno de los estudiantes.» Indique qué libros se han sacado mensualmente.» Inserta en la tabla LIBROS los siguientes datos: M102, Matemática 2000, Norma» Inserta en la tabla EDITORIAL los siguientes datos: Norma, librerianorma.com,

01800707707» Modificar los datos del lector 1102987345 de tabla LECTOR.» Modificar los datos de los pedidos realizados en el año 2013» Eliminar la tupla LECTOR con IdLector 1102987345» Eliminar la tupla LIBROS con IdLibro M102» Eliminar la tupla LIBROS con Titulo igual a ciencias naturales.

2. Considera el siguiente esquema Entidad-Relación, agregue los atributos corres-pondientes a cada entidad y luego conviértelo al modelo relacional, utiliza la aplicación MySql Workbench y realiza consultas utilizando select, from, where, insert, delete y update. (Recuerde la caridnalidad de cada una de las relaciones)

AUTOEVALUACIÓN

Corporación Universitaria del Caribe - CECAR

Referencias

» Gonzalez, A. (2011). Gestión de Base de Datos. España: Editorial Ra-Ma.

» Silberschatz, A. Korth, H. Sudarshan, S. (2002). Fundamentos de Bases de Datos. España: Editorial McGraw-Hill / interamericana de España, S. A. U.

» Kroenke, D. (2003). Procesamiento de Bases de datos, Fundamentos, diseño e Im-plementación. México: Pearson Educación. E-book. Recuperado de: http://books.goo-gle.com.co/books?id=7ORUWItwcNEC&lpg=PP1&dq=base%20de%20datos&pg=PR4#-v=onepage&q=base%20de%20datos&f=false

» Date, C.J. (2001). Fundamentos de Sistemas de Bases de Datos. México: Pearson Educación. E-book. Recuperado de: http://books.google.com.co/books?id=Vhum351T-K8C&lpg=-PP1&pg=PP1#v=onepage&q&f=false

» Claudio (2006). Tipos de datos que hay en SQL. Desarrolloweb. Recuperado de: http://www.desarrolloweb.com/articulos/2336.php

» Guzmán. Que es un DBMS. Slideshare. Recuperado de http://www.slideshare.net/mat-3matik/qu-es-un-dbms-5805313

» Baixauli, V., Grau, N., Sánchez, A. (2012). Historia de las bases de datos. Slideshare. Recuperado de: http://www.slideshare.net/da4equipo3/historia-de-las-bases-de-datos

» Storti, G., Ríos, G., Campodónico, G. (2007). Base de datos: Modelo Entidad – Re-lación. Recuperado de: http://www.belgrano.esc.edu.ar/matestudio/carpeta_de_access_intro-duccion.pdf

Dirección de Educación Abierta y a Distancia y Virtualidad

Bibliografía a Consultar

» Nevado, M. Introducción a las Bases de Datos Relacionales. Madrid, España: Vi-sión Libros. E-book. Recuperado de: http://books.google.com.co/books?id=0lUpB1lNU-dIC&pg=PA6&lpg=PP1&dq=base+de+datos

» Modelo relacional. Recuperado de: http://www.google.com.co/url?sa=t&rct=j&q=&es-rc=s&source=web&cd=11&ved=0CGIQFjAK&url=http%3A%2F%2Fwww.fdi.ucm.es%2Fprofesor%2Flgarmend%2FFBD%2FTema%25202.2%2520Modelo%2520relacio-nal%2520v16.pdf&ei=aVG3UeLxLYv29gTZjICgBA&usg=AFQjCNHYSYIp7Kyq486o-hmyCE6cLp2cEEQ&bvm=bv.47534661,d.eWU

» Pablo. Base de Datos. Recuperado de: http://www.monografias.com/trabajos5/basede/basede.shtml

» Villar, M. & Fernadez, C. (2006). Base de datos Access: Aplicaciones fundamentales y manejo básico de una base. Recuperado de: http://books.google.com.co/books?id=-dtRU5PjszaoC&printsec=frontcover&dq=base+de+datos&hl=es-419&sa=X&ei=LW7HUa-GCFNKs4AOGmICYBw&ved=0CC8Q6AEwATgK

» Piattini, M. (2000). Líneas de evolución de las bases de datos. NOMATICA. Recupe-rado de: http://www.youtube.com/watch?v=4k1n20lRET8

» Thibaud, C. (2006). Recursos Informáticos, MySql 5. Barcelona, España: Edicio-nes ENI. E-book. Recuperado de: http://books.google.com.co/books?id=wY0bHP-mW-NUC&pg=PA11&dq=base+de+datos+con+Mysql&hl=es-419&sa=X&ei=UN-0Uc-fKOJW64APwp4DwDw&ved=0CDEQ6AEwAQ#v=onepage&q=base%20de%20datos%20con%20Mysql&f=false

» Gutmann, J. (2011). Introducción a las bases de datos relacionales (II). Pixels & Code, volumen 2, 11-15. Recuperado de: http://pixelscode.com/mayo-2011/#/10/zoomed

» Malca, E. (2012). Clase 3. Modelo de Datos. Slideshare. Recuperado de: http://www.slideshare.net/eddiemalca/clase-3-modelo-de-datos

» Videotutorial Software Dia. Recuperado de: http://www.youtube.com/watch?v=-9cp-6jfyW1I

DIRECCIÓN DE EDUCACIÓN ABIERTA Y A DISTANCIA Y VIRTUALIDAD

LICENCIATURA EN EDUCACIÓN BÁSICA CON ÉNFASIS EN TECNOLOGÍA E INFORMÁTICA

BASES DE DATOS

Carretera Troncal de Occidente - Vía Corozal - Sincelejo (Sucre)

Teléfonos: 2804017 - 2804018 - 2804032, Ext. 126, 122 y 123

Mercadeo: 2806665 Celular: (314) 524 88 16

E- Mail: [email protected]