bases de datos - META

Anuncio
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
TABLA DE CONTENIDO
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
I. Introducción
III. Instrucciones de Manejo
II. Justificación
IV. Referentes Teóricos
1
Introducción a las Bases
de Datos
1.1Datos.
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.
2
Modelo Entidad-Relación
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
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
3
4
Modelo Relacional
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.
Lenguaje de Consulta
Estructurado (SQL)
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
2013
©
Corporación Universitaria del Caribe - CECAR
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 integrador 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 Abierta y a Distancia de CECAR.
Dirección de Educación Abierta y a Distancia y Virtualidad
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, medicina, leyes, educación, etc.
La importancia e impacto de las bases de datos es incuestionable a medida que las organizaciones ya sean gubernamentales, instituciones educativas, universidades, entidades
comerciales, entre otras, crean y mantienen bases de datos en la cuales estén contenidas 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ásicos 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.
Corporación Universitaria del Caribe - CECAR
I. Introducción
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 expresiones Insert, Delete, Update.
Al finalizar la última unidad, está la sección de anexos en la cual se encuentra los manuales 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
II. Justificación
El desarrollo de la tecnología aplicada a la información, especialmente ligada a las comunicaciones, ha logrado un alto y rápido desarrollo se puede encontrar un nivel de implementació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 Tecnologí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 pueda 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 comunicar, 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:
METACOGNITIVA
Conoce y utiliza herramientas informáticas para el diseño e implantación de una base de
datos en el ámbito escolar.
RELACIONAL
Aplica los conocimientos obtenidos a situaciones laborales concretas utilizando los procedimientos adecuados, para solucionar problemas de manera autónoma y transferir las
situaciones adquiridas a situaciones novedosas.
Corporación Universitaria del Caribe - CECAR
II. Justificación
TECNOLÓGICA
Utiliza los principios básicos de los sistemas de base de datos, para utilizarlos en el contexto educativo.
ARGUMENTATIVA
Argumenta y justifica el porqué de los modelos a utilizar en la solución de problemas prácticos específicos de las diferentes áreas de actividad de su profesión utilizando lenguaje
y simbología apropiados para las representaciones que requiera.
Dirección de Educación Abierta y a Distancia y Virtualidad
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 socializarlo 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 conocimientos 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 observador 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.
Corporación Universitaria del Caribe - CECAR
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ª Edició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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Estructura del Módulo
Corporación Universitaria del Caribe - CECAR
Unidad
1
Introducción a las Bases
de Datos
Introducción a las Bases de Datos
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 sistemas 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 bases de datos?
Corporación Universitaria del Caribe - CECAR
Bases de Datos
COMPETENCIAS ESPECÍFICAS
»
Interpreta y maneja las diferentes conceptualizaciones utilizadas 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 educación.
»»
Identifica los diferentes tipos de almacenamientos de un sistema de
base de datos.
»
Identifica y explica los diferentes modelos de datos.
13
Dirección de Educación Abierta y a Distancia y Virtualidad
Introducción a las Bases de Datos
DINÁMICA PARA CONSTRUIR CONOCIMIENTO
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?
14
»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.
Corporación Universitaria del Caribe - CECAR
Dirección de Educación Abierta y a Distancia y Virtualidad
Introducción a las Bases de Datos
1.1 ¿QUÉ SON DATOS?
S
egún diccionario de la real academia, los datos son la Información dispuesta de manera 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.
16
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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
Tipo de Datos
Longitud
Descripción
DOUBLE
8 bytes
Un valor en punto flotante de doble precisión con un rango
de - 1.79769313486232*10308 a -4.94065645841247*10324 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.
LONGBINARY
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
Dirección de Educación Abierta y a Distancia y Virtualidad
17
Introducción a las Bases de Datos
18
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 mundo 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:
Corporación Universitaria del Caribe - CECAR
Bases de Datos
»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 datos), 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 posible 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 informació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.
19
figura 1.
Dirección de Educación Abierta y a Distancia y Virtualidad
Introducción a las Bases de Datos
Los componentes que hacen parte de un DBMS son:
»DDL, Data Definition Language: define los elementos de los datos en la Base de datos. 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.
20
El esquema es generalmente almacenado en un Diccionario de Datos. Aunque generalmente 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
Corporación Universitaria del Caribe - CECAR
Bases de Datos
1.3.4
Independencia de los datos
las nóminas, como por ejemplo el aumen-
Es la libertad que puede existir para modificar algunos de los esquemas sin que exista
la necesidad de reescribir los programas de
aplicación. Existen básicamente dos tipos
de independencia:
to de salario. Consistía en leer una cinta o
»Independencia física: 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.
»Independencia lógica. 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.
‹‹
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 datos en los discos, ya que en milisegundos
era recuperable la información.
‹‹
Los discos dieron inicio a las Bases
1.4 HISTORIA DE LOS SISTEMAS
DE BASES DE DATOS.
de Datos, de red y jerárquicas, pues los
El nacimiento de las bases de datos se impulsa por el crecimiento de las computadoras, 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 Estados Unidos en 1880 y se tardaron 7 años
para obtener resultados.
tajas de los discos era posible guardar es-
programadores con su habilidad de manipulación de estructuras junto con las ventructuras 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 Relational Model of data for Large Shared Banks”.
‹‹
La historia de las bases de datos se genera
a partir de la evolución que han tenido estos, 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
Década de 1980. Bases del Modelo
E-R
»Abstraer la representación de datos.
»Minimizar la redundancia de datos, dividiéndolos en distintos grupos no duplicados.
»Incrementar la consistencia de datos,
por ejemplo si se cambia el nombre de
un cliente, este cambiara en todos los
reportes.
Dirección de Educación Abierta y a Distancia y Virtualidad
21
Introducción a las Bases de Datos
Posteriormente un lenguaje llamado SQL
(Lenguaje estructurado de consultas) tambié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 ignorado por IBM, y poco después Oracle saco su
versión comercial de BD basada en la teorí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 decisiones, que son intensivas en consultas,
mientras que el objetivo principal de las bases de datos en la década de 1980 de las
aplicaciones de procesamiento de transac-
22
ciones, que son intensivas en actualizaciones. En esta época las herramientas para
analizar grandes cantidades de datos experimentaron 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 extensivamente. 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 SISTEMAS DE BASES DE DATOS.
Las bases de datos son ampliamente usadas. Las aplicaciones más representativas
de bases de datos según Silberschatz, Korth, Sudarshan (2002) son:
»Banca: para información de clientes,
cuentas y préstamos, y transacciones
bancarias.
»Líneas Aéreas: para reservas e información de planificación. Estas fueron
las primeras en utilizar las bases de datos de forma distribuida geográficamente.
»Universidades: para información de los
estudiantes, matriculas de las asignaturas y cursos.
»Transacciones de tarjetas de crédito:
para compras con tarjetas de crédito y
generación mensual de extractos.
»Telecomunicaciones: para guardar registros de las llamadas realizadas,
generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar
información sobre las redes de comunicaciones.
»Finanzas: para almacenar información sobre grandes empresas, ventas
y compras de documentos formales financieros, como bolsas y bonos.
»Ventas: para información de clientes,
productos y compras.
»Producción: para la gestión de la cadena 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, impuestos y beneficios, y para la generación
de las nóminas
Por tanto, podemos afirmar que los sistemas de bases de datos forman una parte
importante en casi todas las empresas actuales.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 información. En este apartado hemos reseñado tan sólo aquellas que son accesibles desde Internet y las presentamos clasificadas en dos grupos: las que proporcionan informació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
ProQuest
Eurybase
International Association of Universities
Observatorio de la
Educación Iberoamericana
OCDE - Education
Database
PISA-OCDE
Ploteus
Sistemas Educativos
SITEAL
UNESCO
Base de Datos
Mundial sobre
desigualdades en
Educación (WIDE)
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 desarrollados del mundo. http://www.renata.edu.co/
Compañía editorial con sede en Ann Arbor, Michigan, que publica en formatos
electrónicos y microfilm y suministra servicios de información para universidades, 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/
Informació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
Contiene descripciones en formato RTF de los Sistemas de Educación Superior
de 174 países. http://www.iau-aiu.net/
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 miradas que hoy existen en la Región y que constituyen el pensamiento educativo
Iberoamericano. http://www.oei.es/observatorio.htm
Esta Base de Datos de la OCDE proporciona información comparable internacionalmente sobre aspectos claves de los Sistemas Educativos. http://www.
oecd.org/
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
Es el portal que le informa de las oportunidades de aprendizaje en todo el espacio europeo, le ayudará a conocer la oferta de educación y formación en toda
Europa. http://ec.europa.eu/ploteus/home_es.htm
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/
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/
Indicadores Educativos. Global Monitoring Report. http://gmr.uis.unesco.org/selectIndicators.aspx
Permite la comparación de distintos tipos de desigualdades -por nivel de ingresos, 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/
Dirección de Educación Abierta y a Distancia y Virtualidad
23
Introducción a las Bases de Datos
1.7 TIPOS DE ALMACENAMIENTO
DE UNA BASES DE DATOS.
res técnicas muchas veces pueden determinarse viendo la estructura de la base de
datos, entre otras características.
La mayoría de las bases de datos se almacenan en las llamadas memorias secundarias, especialmente discos duros, aunque,
en principio, pueden emplearse también
discos ópticos, memorias flash, etc2.
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 encuenLas razones por las cuales las bases de datos tren las técnicas idóneas, o sea, aquellas
se almacenan en memorias secundarias son: que permitan la mayor velocidad posible de
acceso a los datos.
24
»En general, las bases de datos son demasiado grandes para entrar en la memoria 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 permanente, 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 recuperación de bases de datos: Las técnicas empleadas para almacenar bases de datos
son sumamente importantes para la velocidad de acceso y recuperación de datos.
Las técnicas dependen del tipo de almacenamiento, el uso que se le da o se le dará a
la base de datos, la estructura de la misma,
el SGBD empleado, etc.
El almacenamiento en archivos de las bases de datos, Las bases de datos se almacenan en ficheros o archivos. Existen diferentes 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 ordenados): 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 calculado: utilizan una función de direccionamiento calculado aplicada a un campo
específico para determinar la colocación de los registros en disco.
»Árboles B: se vale de la estructura de
árbol para las colocaciones de registros.
Esta dependencia no significa necesariamente que haya que cambiar la estructura
de la base de datos si se cambian las técnicas empleadas. Las técnicas de almacenamiento son independientes de la base de
datos, pero, de todas maneras, las mejo- Existe una segunda forma de acceder a los
datos llamada organización secundaria o
2 Recuperado de: http://www.alegsa.com.ar/Dic/
estructura de acceso auxiliar. Estas permialmacenamiento%20de%20bases%20de%20datos.php
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 inmediatamente.
»Flexibilidad: para nuevas necesidades,
los cambios de estructura no afectan
los datos.
»Rápida creación de nuevas aplicaciones: una vez creada la BD y funcionando, crear una nueva aplicación necesita
menos tiempo.
»Independencia de los datos: ocultan
detalles de implementación.
1.9 TIPO DE BASE DE DATOS SEGÚN SU USO.
“Las bases de datos están en continua
evolución tecnológica y lo que antes requería tecnología separada de las propias 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 encarga de almacenar documentos de diversas naturalezas (predominantemente 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): almacena datos vectoriales sobre puntos
geográficos, superficies regulares o
irregulares, volúmenes, etc., asociados a valores estadísticos empleando
sistemas de coordenadas geográficas
o UTM (propias de los sistemas de posicionamiento global o GPS). Este tipo
de base de datos ofrecen información
sobre territorios, tales como estadísticas, 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 objetos): nuevas bases de datos relacionales para establecer mecanismos de
almacenamiento de objetos de longitudes 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 detección de tendencias para agrupar tipos
de clientes y utilizar de forma retroalimentada esta información para mejorar
el negocio.
»Base de datos transaccionales (OLTP):
son bases de datos orientadas a bloques
de transacciones masivas, para clientes tales como entidades bancarias,
instituciones bursátiles o mayoristas de
ventas. Se caracterizan por su alto rendimiento, alta disponibilidad y preparación contra contingencias catastróficas.
Dirección de Educación Abierta y a Distancia y Virtualidad
25
Introducción a las Bases de Datos
1.10 MODELOS DE LOS DATOS. 1.10.2 Clasificación de los modelos de datos.
1.10.1 Definición de un modelo de
1.10.2.1 Modelo Entidad–Relación (E-R)
datos.
Está basado en una percepción del mundo
real que consta de una colección de objetos básicos llamados entidades y relaciones entre estos objetos, implementándose
Date (2001) como “Un modelo de datos en forma gráfica a través del Diagrama Enes una definición lógica, independiente tidad Relación.
y abstracta de los objetos, operadores
y demás que en conjunto constituyen la
máquina abstracta con la que interac- 1.10.2.2 Modelo Relacional
túan los usuarios. Los objetos nos permiten modelar la estructura de los datos. Se basa en el concepto matemático de reLos operadores nos permiten modelar lación. En este modelo, la información se
su comportamiento”.
representa en forma de “tablas” o relaciones, donde cada fila de la tabla se interpreta
como una relación ordenada de valores (un
También se puede definir como:
conjunto de valores relacionados entre sí).
En la estructura de la base de datos se encuentra el modelo de datos, el cual es definido por:
26
“Una colección de herramientas concep- 1.10.2.3 Modelo de datos orientado a
tuales para describir los datos, las relaciones, 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 entidad-relación, modelo relacional que son
los que se estudiaran en el presente modulo, aparte de estos encontramos los modelos lógicos basados en objetos, modelos
lógicos basados en registros y modelos físicos.
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, principalmente 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 resto de los datos que precisamos.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
1.10.2.5 Modelo en red
Conocido como modelo CODASYL (Conference on Dat System Language), conformada 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.
ACTIVIDAD
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 pregunta: ¿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?
Dirección de Educación Abierta y a Distancia y Virtualidad
27
Introducción a las Bases de Datos
AUTOEVALUACIÓN
1. Es una representación simbólica de un atributo o característica de una entidad.
a) Base de datos
b) Datos
c) 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 datos
b) Datos
c) Tipo de datos
28
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 aplicaciones
b) 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) DBMS
b) DDL
c) DCL
5. Describe la estructura de una Base de datos, en un lenguaje formal soportado por un
Sistema administrador de Base de datos
a) Independencia Física
b) Independencia Lógica
c) 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 datos
b) Independencia lógica
c) 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ógica
b) Esquema de datos
c) Independencia física
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 datos
b) Independencia lógica
c) 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
29
Introducción a las Bases de Datos
30
Corporación Universitaria del Caribe - CECAR
Unidad
2
Modelo Entidad - Relación
M-E-R
Modelo Entidad Relación
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 cuales 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, independientemente 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 maneja los siguientes conceptos: entidades, relaciones, atributos; además se estudiara las restricciones en el modelo E-R, claves, diagramación del modelo
E-R, características del modelo E-R extendido (Especialización, generalizació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.
32
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?
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 siguiendo la metodología de diseño conceptual para diseñar de una
base de datos.
33
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
DINÁMICA PARA CONSTRUIR CONOCIMIENTO
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?
34
»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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
METODOLOGÍA DE DISEÑO DE samiento y optimización de consultas, control de concurrencia, gestión de transaccioBASE DE DATOS
P
ara introducirnos a esta temática miremos los planteamientos dados por Batini, 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 recursos de información en la mayoría de las
organizaciones” […] “las ultima décadas se
han caracterizado por un fuerte crecimiento en el número e importancia de las aplicaciones de base de datos. Las bases de
datos son componentes esenciales de los
sistemas de información, usadas rutinariamente 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”.
nes y recuperación, etc.”
“Según ha avanzado la tecnología de base
de datos, así se han desarrollado las metodologías y técnicas de diseño. Se han alcanzado 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 conseguir estos objetivos”.
[…] “Desafortunadamente, las metodologías de diseño de base de datos no son
muy populares; la mayoría de las organizaciones y de los diseñadores individuales
confía muy poco en las metodologías para
llevar a cabo el diseño y esto se considera, 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
[…] ”A finales de la década de los 60’s, cuan- el tiempo o los recursos necesarios para
do las bases de datos entraron por primera aun proyecto de base de datos, las bases
vez en el mercado del software, los dise- de datos son inadecuadas o ineficientes en
ñadores de bases de datos actuaban como relación a las demandas de la aplicación,
artesanos, con herramientas muy primiti- la documentación es limitada y el mantenivas: diagramas de bloques y estructuras de miento es difícil”.
registros eran los formatos comunes para
la especificaciones y el diseño de base de […] “Muchos de estos problemas se deben
datos se confundía frecuentemente con la a la falta de una claridad que permita enimplantación de las bases de datos. Esta tender la naturaleza exacta de los datos,
situación ahora ha cambiado, los métodos a un nivel conceptual y abstracto. En muy modelos de diseño de base de datos han chos casos, los datos se describen desde
evolucionado paralelamente con el progre- el comienzo del proyecto en términos de
so de la tecnología en los sistemas de base las estructuras finales de almacenamiento;
de datos, que ofrecen poderosos lenguajes no se da peso a un entendimiento de las
de consultas, herramientas para el desa- propiedades estructurales de los datos que
rrollo de aplicaciones e interfaces amables sea independiente de los detalles de la reacon los usuarios. La tecnología de base de lización.”
datos cuenta ya con un marco teórico, que
incluye la teoría relacional de datos, proce- […] “El diseño de una base de datos es un
Dirección de Educación Abierta y a Distancia y Virtualidad
35
Modelo Entidad Relación
proceso complejo que abarca decisiones
a muy distintos niveles. La complejidad se
controla mejor si se descompone el problema en subproblemas y se resuelve cada
uno de estos subproblemas independientemente, utilizando técnicas específicas. Así,
el diseño de una base de datos se descompone en diseño conceptual, diseño lógico
y diseño lógico”.
A continuación se describe cada uno de los
diseños:
36
Diseño conceptual parte de las especificaciones de requisitos de usuarios y su resultados 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 manipularla. Este modelo es un lenguaje que se
utiliza para describir esquemas conceptuales; tiene por objetivo, describir el contenido de información de la base de datos y no
las estructuras de almacenamiento que se
necesitarán para manejar esta información.
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 conceptuales 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 mecanismos 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ándole 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.
Diseño lógico parte del esquema conceptual y da como resultado un esquema lógico, el cual es una descripción de las bases 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 En el diseño de base de datos se usan prirelacional, modelo de red). El diseño lógico mero los modelos conceptuales para lograr
depende del tipo de SMBD que se vaya a una descripción de alto nivel de la realidad.
utilizar, no depende del producto en concreto.
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 implementación de una base de datos en memoria
secundaria: las estructuras de almacena-
MODELO ENTIDAD-RELACIÓN
(E-R)
Está basado en una percepción del mundo
real consistente en objetos básicos llamados entidades y de relaciones entre objetos. Se desarrolló para facilitar el diseño de
Corporación Universitaria del Caribe - CECAR
Bases de Datos
base de datos permitiendo la especificación de un esquema de la empresa que representa 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 abstracta de los datos, como representación del mundo real, independiente de las caracterí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 propiedades 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
Dirección de Educación Abierta y a Distancia y Virtualidad
37
Modelo Entidad Relación
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 elimina 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
38
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úmero 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 entidades 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 atributos 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 pequeñ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.
39
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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
2.2 RESTRICCIONES DE INTEGRIDAD EN EL MODELO E–R
De acuerdo a Silberschatz, Korth & Sudarshan (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 describirán las correspondencias de cardinalidades
y las restricciones de participación.
2.2.1 Correspondencia de cardinalidades
Las correspondencias de cardinalidades
también denominada razón de cardinalidades, expresa el número de entidades a las
que otra entidad puede estar asociada.
40
Figura 2.4
»Uno a Varios (1 a N): Una entidad en A
se asocia con cualquier número de entidades en B (ninguna o varios). Una entidad en B, sin embargo, se puede asociar con cualquier número de entidades
(ninguna o varias) en A. Figura 2.5
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 relació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 participación es opcional (parcial).
A continuación se toman la correspondencia de cardinalidad de las relaciones binarias 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 cardinalidades debe ser una de las siguientes:
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
»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
Corporación Universitaria del Caribe - CECAR
Bases de Datos
uno a varios, pero caso contrario es que
una o varias anotaciones solo puede pertenecer a un estudiante entonces el conjunto
de relaciones anotación a estudiante es de
varios a uno.
ACTIVIDAD 2
Figura 2.6
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 escolar.
»Varios a Varios (N a N): Una entidad
en A se asocia con cualquier número
2.2.2 Restricción de participación
de entidades (ninguna o varias) en B,
y una entidad en B se asocia con cualquier número de entidades (ninguna o Las restricciones pueden limitar los tipos de
varias) en A. Figura 2.7
estructuras que es imposible representar
mediante un cierto modelo de datos, o bien
permiten restringir los valores que pueden
tomar ciertos atributos o imponen limitaciones al tipo de correspondencia u otras caracterí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 relación en R. Si solo algunas entidades en
E participan en relaciones en R, la particiFigura 2.7
pación del conjunto de entidades E en la
Cabe añadir que la correspondencia de relación R se llama parcial.
cardinalidades apropiadas para un conjunto de relaciones particular depende obviamente de la situación del mundo real que 2.3 CLAVES
se esté modelando.
Es importante especificar como se distinguen las entidades y las relaciones. ConPara ejemplarizar lo anterior, miremos la ceptualmente, las entidades y las relaciosiguiente situación. En el observador del nes individuales son distintas; peor desde
estudiante un estudiante puede tener mu- la perspectiva de las bases de datos, la dichas anotaciones, entonces el conjunto de ferencia entre ellas se expresa en términos
relaciones de estudiante a anotación es de de los atributos.
Dirección de Educación Abierta y a Distancia y Virtualidad
41
Modelo Entidad Relación
Por tal motivo como lo expresan: “Silberschatz, Korth & Sudarshan (2000), los valores 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:
42
»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 designados 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 identificació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 atributos 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 ausencia de claves candidatas.
»Claves foranes: Son críticas para mantener la integridad de las relaciones entre entidades. Una clave foránea o clave ajena (o Foreign Key FK) es una limitación referencial 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 deben ser la clave primaria u otra clave candidata en la tabla referenciada.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
ACTIVIDAD 3
Defina cada una de las claves que identifican cada una de las entidades de la base de
datos de una biblioteca escolar.
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 incongruencias 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 cuestió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 interactúan entre sí, también si es posible debatir el modelo entre varios compañeros para compartir 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 componentes 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 relaciones.
»Rectángulos Dobles, que representa conjuntos de entidades débiles.
Dirección de Educación Abierta y a Distancia y Virtualidad
43
Modelo Entidad Relación
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, NombreApellido, Grado… y los atributos de la entidad Docente_DirGrupo son: IdDocente, NombreApellido, GardoAcargo…, cabe anotar que los atributos subrayados son las clave primara
de cada entidad respectivamente.
44
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, tenemos 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:
Corporación Universitaria del Caribe - CECAR
Bases de Datos
Figura 2,10
En 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 siguiente 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 comprado nada, por tanto, aún o han enviado pedidos. Entonces estos son clientes potenciales.
Se representa de la siguiente forma:
45
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 modelo E-R., podemos observar como el atributo Nombre, con atributos componentes PrimerNombre, SegundoNombre, PrimerApellido, SegundoApellido, reemplazan el atributo
simple NombreApellido (este puede ser observado en la Figura 2,8) de la entidad Estudiante. También se puede observar el atributo compuesto dirección, cuyos atributos componentes 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
Figura 2,12
2.5 CARACTERÍSTICA DEL MODELO E-R EXTENDIDO
46
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 adecuadamente expresados mediante ciertas extensiones del modelo E-R básico. En este apartado 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 entidades 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 proceso 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
Figura 2,13
Se debe tener en cuenta que las entidades se pueden especializar por más de una caracterí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 especializaciones. 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 componente 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 especialización tiene, luego grafíquela.
Dirección de Educación Abierta y a Distancia y Virtualidad
47
Modelo Entidad Relación
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 generalizació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 generalizació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.
48
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óptico.
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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 relaciones. Para ilustrar la necesidad de tales construcciones tomemos como ejemplo el siguiente 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:
49
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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
Figura 2,16
50
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, Sucursal y Trabajo, se desea registrar los directores para las tareas realizadas por
un empleado de una sucursal; es decir, se desean registrar directores por combinaciones (Empleado, Sucursal, Trabajo), asumiendo que existe una entidad 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 diagramas del modelo E-R. Cabe añadir que no hay un estándar universal para la diagramación del modelo E-R, en la figura 2,17, se muestra los símbolos utilizados en el modelo
E-R.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
51
Figura 2,17
Tomada 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 detonar 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
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
52
El modelo de datos E-R proporciona un alto grado de flexibilidad en el diseño de un esquema de base de datos para modelar una situación dada del mundo real. Entre las decisiones 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 fuertes 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 relaciones 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 diagrama E-R en un único conjunto de entidades, permitiendo tratar el conjunto de entidades 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
2.6.1 Metodología de diseño
estas especificaciones se buscan los nombres o las características que se mencionan
(por ejemplo: código del estudiante, nomEl primer paso en el diseño de una base
bre del estudiante, grado, identificación del
de datos es la producción del esquema
docente, dirección del docente, código de
conceptual. Normalmente, se construyen
la anotación, fecha de la anotación). Tamvarios esquemas conceptuales, cada uno
bién se buscan objetos importantes como
para representar las distintas visiones que
personas, lugares o conceptos de interés,
los usuarios tienen de la información. Cada
excluyendo aquellos nombres que sólo son
una de estas visiones suelen corresponder
propiedades de otros objetos. Por ejemplo,
a las diferentes áreas funcionales de la emse pueden agrupar el código del estudiante
presa como, por ejemplo, producción, vencon nombre del estudiante en una entidad
tas, recursos humanos, etc.
denominada Estudiante, y agrupar la identificación del docente con nombre del docenEstas visiones de la información, denomi- te en una entidad llamada Docente y códinadas vistas, se pueden identificar de va- go de anotación con fecha de anotación en
rias formas. Una opción consiste en exami- la entidad Anotación.
nar los diagramas de flujo de datos, que se
pueden haber producido previamente, para
Otra forma de identificar las entidades es
identificar cada una de las áreas funcionabuscar aquellos objetos que existen por sí
les. La otra opción consiste en entrevistar a
mismos. Por ejemplo, Estudiante es una
los usuarios, examinar los procedimientos,
entidad porque los estudiantes existen, selos informes y los formularios, y también
pamos o no sus nombres, direcciones y teobservar el funcionamiento de la empresa.
léfonos.
A los esquemas conceptuales correspondientes a cada vista de usuario se les denomina esquemas conceptuales locales.
Cada uno de estos esquemas se compone de entidades, relaciones, atributos, dominios 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 relaciones, Identificar los atributos y asociarlos
2.6.2.1 Identificar las entidades
En primer lugar hay que definir los principales objetos que interesan al usuario. Estos
objetos serán las entidades. Una forma de
identificar las entidades es examinar las especificaciones de requisitos de usuario. En
A veces, es difícil identificar las entidades por la
forma en que aparecen en las especificaciones
de requisitos. A veces se habla utilizando ejemplos 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 matrimonio? Pues de cualquiera de las tres formas. El análisis es subjetivo, por lo que distintos 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 diseñador de una base de datos debe tener
una visión selectiva y clasificar las cosas
que observan dentro del contexto en el
Dirección de Educación Abierta y a Distancia y Virtualidad
53
Modelo Entidad Relación
que se encuentra. A partir de unas especificaciones de usuario es posible que no se
pueda deducir un conjunto único de entidades, 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.
54
Una vez identificadas todas las relaciones,
hay que determinar la cardinalidad mínima
y máxima con la que participa cada entidad 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 actualizaciones violan o no las reglas establecidas
sobre la semántica de los datos.
Conforme se van identificando las entidades, se les dan nombres que tengan un significado. Los nombres de las entidades y
sus descripciones se anotan en el diccionario de datos. Cuando sea posible, se debe
anotar también el número aproximado de
ocurrencias de cada entidad. Si una entidad se conoce por varios nombres, éstos
se deben anotar en el diccionario de datos Conforme se van identificando las relaciocomo alias o sinónimos.
nes, se les van asignando nombres que
tengan significado para el usuario. En el
2.6.2.2 Identificar relaciones
diccionario de datos se anotan los nombres
de las relaciones, su descripción y las carUna vez definidas las entidades, se de- dinalidades con las que participan las entiben definir las relaciones existentes entre dades en ellas.
ellas. Del mismo modo que para identificar
las entidades se buscaban nombres en las
especificaciones de requisitos, para iden- 2.6.2.3 Identificar los atributos y
tificar las relaciones se suelen buscar las asociarlos a las entidades
expresiones verbales (por ejemplo: Estudiante tiene docente director de grupo, do- Al igual que con las entidades, se buscan
cente realiza anotaciones, estudiante tiene nombres en las especificaciones de reanotaciones). Si las especificaciones de re- quisitos. Son atributos los nombres que
quisitos reflejan estas relaciones es porque identifican propiedades, cualidades, identison importantes para el modelo que se esté ficadores o características de entidades o
desarrollando y, por lo tanto, se deben re- relaciones, lo más sencillo es preguntarse,
para cada entidad y cada relación, ¿qué inflejar en el esquema conceptual.
formación se quiere saber de...?.
Es muy importante repasar las especificaciones para comprobar que todas las
relaciones, explícitas o implícitas, se han Al identificar los atributos, hay que tener
encontrado. Si se tienen pocas entidades, en cuenta si son simples o compuestos.
se puede comprobar por parejas si hay al- Por ejemplo, el atributo dirección puede
guna relación entre ellas. De todos modos, ser simple, teniendo la dirección completa
las relaciones que no se identifican ahora como un solo valor: `La Selva calle 7, Sinse suelen encontrar cuando se valida el celejo’; o puede ser un atributo compuesto,
esquema con las transacciones que debe formado por la calle (`Nariño’), el número
soportar.
(`7’) y ciudad (`Sincelejo’). El escoger entre
Corporación Universitaria del Caribe - CECAR
Bases de Datos
atributo simple o compuesto depende de
los requisitos del modelo que se esté construyendo. Si el usuario no necesita acceder
a cada uno de los componentes de la dirección por separado, se puede representar
como un atributo simple. Pero si el usuario
quiere acceder a los componentes de forma individual, entonces se debe representar 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 estudiantes de un grado. Si se hace, se debe
indicar claramente que el atributo es derivado y a partir de qué atributos se obtiene
su valor.
Cuando se están identificando los atributos, se puede descubrir alguna entidad que
no se ha identificado previamente, por lo
que hay que volver al principio introduciendo 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 vayan 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 acabado, se han asociado todos los atributos.
Hay que tener mucho cuidado cuando parece 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 representarse como una sola entidad. En este
caso, se puede escoger entre introducir
una jerarquía de generalización, o dejar las entidades que representan cada
uno de estas.
»Se ha identificado una relación entre
entidades. En este caso, se debe asociar el atributo a una sola de las entidades y hay que asegurarse de que la
relación ya se había identificado previamente. Si no es así, se debe actualizar
la documentación para recoger la nueva relación.
Conforme se van identificando los atributos, se les asignan nombres que tengan
significado para el usuario. De cada atributo se debe anotar la siguiente información:
»Nombre y descripción del atributo.
»Alias o sinónimos por los que se conoce al atributo.
»Tipo de dato y longitud.
»Valores por defecto del atributo (si se
especifican).
»Si el atributo siempre va a tener un valor (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 esquema 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 información adicional sobre los dominios como,
por ejemplo, las operaciones que se pueden realizar sobre cada atributo, qué atri-
Dirección de Educación Abierta y a Distancia y Virtualidad
55
Modelo Entidad Relación
butos pueden compararse entre sí o qué
atributos pueden combinarse con otros.
Aunque sería muy interesante que el sistema 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 identificadores
Cada entidad tiene al menos un identificador. En este paso, se trata de encontrar todos 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.
56
2.6.2.7 Dibujar el diagrama Entidad – Relación (E-R)
Una vez identificados todos los conceptos,
se puede dibujar el diagrama entidad-relación correspondiente a una de las vistas de
los usuarios. Se obtiene así un esquema
conceptual local.
2.7 EJEMPLO DE LA UTILIZACIÓ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 metodologí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:
Cuando se determinan los identificadores Se desea diseñar una base de datos del
es fácil darse cuenta de si una entidad es observador del estudiante para un institufuerte o débil. Si una entidad tiene al menos ción educativa, el observador del estudianun identificador, es fuerte (otras denomina- te consta de la identificación personal del
ciones son padre, propietaria o dominan- estudiante, datos familiares o del acudiente). Si una entidad no tiene atributos que le te, información académica y vocacional del
sirvan de identificador, es débil (otras de- estudiante, seguridad social del estudiante,
nominaciones son hijo, dependiente o su- situación de vulnerabilidad y registro de obbordinada). Todos los identificadores de las servaciones realizadas por el docente dientidades se deben anotar en el diccionario rector de grupo.
de datos
2.6.2.6 Determinar las jerarquías
de generalización
1. Identificar de entidades
En el enunciado del problema se observa
En este paso hay que observar las entida- los principales objetos de interés de los
des que se han identificado hasta el mo- cuales se generan las siguientes entidades:
mento. Hay que ver si es necesario reflejar
»Estudiante
las diferencias entre distintas ocurrencias
»Acudiente (persona diferente a los pade una entidad, con lo que surgirán nuevas
dres de familia, es decir tíos, abuelos,
subentidades de esta entidad genérica; o
hogar del ICBF)
bien, si hay entidades que tienen caracte»Familiar (Datos familiares)
rísticas en común y que realmente son su»InformaciónAcadémica
(Información
bentidades de una nueva entidad genérica.
académica)
Corporación Universitaria del Caribe - CECAR
Bases de Datos
»SeguridadSocial (Seguridad Social)
»Anotaciones (Observaciones realizadas por el docente director de grupo al estudiante)
»DocenteDirectorGrupo (Docente director de grupo)
2. Identificar de relaciones
Aquí identificamos las relaciones existentes entre las entidades previamente identificadas, 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 pertenece.
»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
Atributos
Estudiante
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 desplazado o proviene de un hogar de protección del ICBF), numero 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 anotació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,
Dirección de Educación Abierta y a Distancia y Virtualidad
57
Modelo Entidad Relación
4. Determinar
los dominios de los atributos
Los dominios corresponden al conjunto de valores que pueden tomar cada atributo.
Entidad
Atributos
Dominio
Estudiante
Identificación
Nombre y apellidos
Fecha de nacimiento
Dirección
Teléfono
E-mail
Genero
Peso
Talla
RH
Grado y grupo
Jornada
Aptitud Vocacional
Situación vulnerabilidad
Numero de hermanos
Número de personas con las que convive
Estrato social
Discapacidad
Números enteros positivos
Caracteres
Formato de fecha corta
Caracteres
Caracteres
Caracteres
Caracteres
Números enteros positivos
Números enteros positivos
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Familiar
Identificación
Nombre y apellidos
Dirección
Teléfono
E-mail
Profesión
Nivel académico
Números enteros positivos
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Acudiente
Identificación
Nombre y apellidos
Dirección
Teléfono
E-mail
Profesión
Nivel académico
Rasgo familiar
Números enteros positivos
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
InformaciónAcadémica
Código del estudiante
Nombre del colegio de procedencia
Grados cursados
Tipo de institución educativa
Motivo del retiro
Fecha de retiro
Números enteros positivos
Caracteres
Caracteres
Caracteres
Caracteres
Formato de fecha corta
SeguridadSocial
Nombre de la entidad aseguradora
Tipo de Seguridad Social
Caracteres
Caracteres
58
Corporación Universitaria del Caribe - CECAR
Bases de Datos
Anotación
Código del docente
Código del estudiante
Fecha de la anotación
Observación realizada
Seguimiento
Acción tomada
Compromisos
IdAnotacion
Números enteros positivos
Números enteros positivos
Formato de fecha corta
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
DocenteDirectorGrupo
Identificación
Nombre y apellidos
Dirección
Teléfono
E-mail
Profesión
Grado a cargo
Números enteros positivos
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
Caracteres
5. Determinar los identificadores
Los identificadores deben identificar de manera única un objeto dentro del conjunto perteneciente a la entidad o a la relación.
Entidad
Identificador
Estudiante
IdEstudainte
DatosFamiliares
IdDatosFlia
Acudiente
IdAcudiente
InformaciónAcadémica
IdEstudiante
SeguridadSocial
IdSeguridadSocial
Anotación
IdAnotacion
DocenteDirectorGrupo
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.
Dirección de Educación Abierta y a Distancia y Virtualidad
59
Modelo Entidad Relación
Dia está diseñado como un sustituto de la aplicación comercial Visio de Microsoft. Se puede 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, encuentras 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 observador del estudiante, expresado en términos de los conceptos E-R. El diagrama incluye
las entidades, atributos, relaciones.
60
Figura 2,19
Corporación Universitaria del Caribe - CECAR
Bases de Datos
AUTOEVALUACIÓN
1.Explique las diferencias entre los términos clave primaria, clave candidata y superclave.
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?
61
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 tenemos 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 datos 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Entidad Relación
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 secció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 adecuadamente. Constrúyase un diagrama E-R para la oficina de registro. Documéntense todas
las decisiones que se hagan acerca de restricciones de correspondencia.
62
Corporación Universitaria del Caribe - CECAR
Unidad
3
Modelo Relacional
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 relacional, 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.
64
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 herramienta.
PROBLEMA
¿Cómo puedo usar los fundamentos del modelo relacional para la
construcción de una base de datos, utilizando la herramienta MySql
Workbench?
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 herramienta MySql Workbench.
65
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Relacional
DINÁMICA PARA CONSTRUIR CONOCIMIENTO
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?
66
»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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
MODELO RELACIONAL
T
omando lo expresado por Korth & Silberschatz (2000), desde la perspectiva
histórica, el modelo de datos relacional es
relativamente nuevo. Los primeros sistemas 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.
datos, como tercer paso de la habitual metodología de diseño de base de datos.
En el modelo relacional se basa en el concepto matemático de relación. En este modelo, 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 setentas, el cual propuso “la vista relacional de
los datos… parece ser superior al modelo
En los años siguientes a la introducción del en grafos o red… proporciona un medio de
modelo relacional se ha desarrollado una describir datos con su estructura natural
teoría para la base de datos relacionales. únicamente, es decir sin superponer ninEsta teoría ayuda al diseño de base de da- guna estructura adicional con el propósito
tos relacional y al procedimiento eficiente de su representación en la máquina”. Cood
de solicitudes de información a la base de también expresa “se propone un modelo de
datos por parte del usuario.
datos relacional de datos como una base
para proteger a los usuarios de sistemas
de datos formateados de los cambios que
El modelo relacional constituye una alterna- potencialmente pueden alterar la representiva para la organización y representación tación de los datos, causados por el crecide la información que se pretende almace- miento del banco de datos y por los camnar en una base de datos. Se trata de un bios en caminos de acceso”.
modelo teórico matemático que, además
de proporcionarnos los elementos básicos
de modelado (las relaciones), incluye un Para conseguir lo propuesto Cood introduconjunto de operadores (definidos en forma ce el concepto de relación (tabla) como esde un álgebra relacional) para su manipula- tructura básica del modelo. Todos los datos
ción, sin ambigüedad posible.
de una base de datos se representan en
forma de relaciones cuyo contenido varía
en el tiempo. Una relación, en terminología
El carácter formal del modelo relacional relacional, es un conjunto de filas (tuplas)
hace relativamente sencilla su representa- con unas determinadas características.
ción y gestión por medio de herramientas
informáticas. No es casual, pues, que haya
sido elegido como referencia para la cons- El modelo relacional representa la seguntrucción de la gran mayoría de los Sistemas da generación de los SMBD, en el, todos
de Gestión de Bases de Datos comerciales los datos están estructurados a nivel lógico
disponibles en el mercado; ni tampoco que como tablas formadas por filas y columnas,
sea también habitualmente seleccionado aunque a nivel físico pueden tener una escomo modelo de referencia para la elabo- tructura distinta. Un punto fuerte del moderación del esquema lógico de una base de lo relacional es la sencillez de su estructura
Dirección de Educación Abierta y a Distancia y Virtualidad
67
Modelo Relacional
lógica. Pero detrás de esa simple estructura 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 algunas extensiones al modelo relacional para
capturar mejor el significado de los datos,
para disponer de los conceptos de la orientación a objetos y para disponer de capacidad 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.
68
3.1 ESTRUCTURA DE LAS BASES
DE DATOS RELACIONALES
Dominio: es un conjunto de valores atómicos. Por atómico queremos decir que cada
valor del dominio es indivisible en lo que se
refiere al modelo relacional. Un método común de especificación de los dominios consiste 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 dominio.
»NumeroSeguridadSocial: es el conjunto de números del seguro social válidos
formados por nueve dígitos.
»NombreApellido: es el conjunto de nombres y apellidos de personas.
»Teléfonos: Es el conjunto de números
telefónicos de siete dígitos cálidos dentro 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 caracteres de la forma DD-MM-AAAA donde DD
Si visualizamos una relación como una ta- es el día, MM es el mes en forma numérica
bla de valores, cada fila de la tabla repre- y AAAA es el año o bien declararse como
senta una colección de datos relacionados fecha corta, en el caso del dominio Teléfoentre sí. Dichos valores se pueden interpre- nos, se considera como cadena de caractetar como hechos que describen una enti- res de la forma (XX)XXXXXXX donde (XX)
dad o un vínculo ente entidades del mundo es el indicativo de la ciudad y XXXXXXX
real. El nombre de tabla y los nombres de es el número telefónico, o bien de la forma
las columnas ayudan a interpretar el signi- (OPER)NUM, donde OPER es el operador
ficado de los valores que están en cada fila del servicio de telefonía celular y NUM es el
de la tabla.
número del teléfono celular. En el caso del
En la terminología del modelo relacional, dominio NombreApellido, el tipo de datos
una fila se denomina tupla, una cabecera es cadenas de caracteres.
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 Todo dominio sebe tener un nombre, por el
cual nos podemos referir a él, y un tipo de
columna se llama dominio.
El modelo relacional representa la base de
datos como una colección de relaciones.
En términos informales, cada relación semeja una tabla o, hasta cierto, punto, un
archivo simple.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 subyacente. 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
69
Modelo Relacional
Figura 3,0
Tener en cuenta que, es posible que varios atributos tengan el mismo dominio. Los atributos 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 continuación se muestran algunas de ellas.
70
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 ESTUDIANTE 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 ESTUDIANTE, 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 atributos, las claves primarias.
El esquema de la base de datos del observador del estudiante es el siguiente:
71
En el esquema anterior, los nombres de las relaciones aparecen seguidos de los nombres 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 esquema 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
Dirección de Educación Abierta y a Distancia y Virtualidad
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 superclave 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.
72
Cabe añadir que, en el esquema del modelo relacional se pueden incluir entre sus atributos 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 venimos tratado a lo largo del presente modulo que es el Observador del Estudiante.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 habituales. Los lenguajes de consultas pueden clasificarse como procedimentales o no procedimentales.
»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 deseado.
»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
Dirección de Educación Abierta y a Distancia y Virtualidad
73
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, SEGURIDADSOCIAL, DOCDIRGRUPO, ANOTACION Y DETALLE.
»Paso 2: Se determinan los atributos de cada entidad y se integran al modelo relacional, al mismo tiempo se escoge la clave primaria para cada uno de las relaciones.
Este paso quedaría así en nuestro ejemplo:
74
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 restricció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
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 RELACIONAL
Tipo 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 externas
Tipo de vínculos n-arios
Relación “vinculo” y n claves externas
Atributos simples
Atributos
Atributo compuestos
Conjunto de atributos componentes simples
Atributo multivalorado
Relación y clave externa
Conjunto de valores
Domino
Atributo clave
Clave primaria (o secundaria)
Dirección de Educación Abierta y a Distancia y Virtualidad
75
Modelo Relacional
ACTIVIDAD
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, multivaluados), n-tupla, esquema de relación, grado de relación, clave (primaria, externa, superclave).
5.Transformar el modelo E-R de la base de datos Biblioteca escolar al
modelo relacional. (utiliza la herramienta MySql Workbench).
76
Corporación Universitaria del Caribe - CECAR
Bases de Datos
AUTOEVALUACIÓN
1. Diseñe una base de datos relacional para la oficina de registro de una universidad. La oficina conserva datos sobre cada curso, incluyendo el profesor, el número 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.
77
3. Diseñe un modelo relacional para una base de datos para una pequeña empresa 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
Modelo Relacional
78
Corporación Universitaria del Caribe - CECAR
Unidad
4
Lenguaje Estructurado
de Consulta
Lenguaje Estructurado de Consulta
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 lenguaje 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.
80
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 Workbench?
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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.
81
Dirección de Educación Abierta y a Distancia y Virtualidad
Lenguaje Estructurado de Consulta
DINÁMICA PARA CONSTRUIR CONOCIMIENTO
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.
82
»» 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 programa, 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
4.1 INTRODUCCIÓN AL LENGUAJE ESTRUCTURADO DE CONSULTA
(SQL)
E
s 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 sistemas para ordenadores personales, hasta grandes ordenadores.
Por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL que puede 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 unidad, 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 individuales— 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 venido trabajando en cada una de las unidades. A continuación se muestra el esquema
Dirección de Educación Abierta y a Distancia y Virtualidad
83
Lenguaje Estructurado de Consulta
relacional, con los atributos y las calves primarias subrayadas.
ESTUDIANTE (IdEstudiante, IdDocente, NombreApellido, FechaNac, Direccion, Telefono, 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, MotivoRetiro, FechaRetiro)
SEGURIDADSOCIAL (NomEntAseguradora, TipoSegSocial, IdEstudiante)
ANOTACION (IdAnotacion, CodEstudiante, CodDocente, FechaAnotación, ObserRealizada, AcciónTomada, Seguimiento, Compromisos)
DOCENTEDIRGRUPO (IdDocente, NombreApellidos, Dirección, Teléfono, E-mail, Profesión, GradoAcargo)
DETALLE (IdEstudiante, IdDocente, AñoLectivo)
4.1.1 Componentes del SQL
84
El lenguaje está compuesto por comandos, clausulas, operadores y funciones
agregadas. Estos elementos se combinan en las instrucciones para crear, actualizar 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 DLL
Comando
Descripción
CREATE
Utilizado para crear nuevas tablas, campos e índices
DROP
Empleado para eliminar tablas e índices
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la definición de
los campos.
Comandos DML
Comando
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 operació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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 especifico
HAVING
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ÓGICOS
Operador
Uso
AND
Es el “Y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas 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ÓN
Operador
Uso
<
Menor que
>
Mayor que
<>
Distinto de
<=
Menor igual que
>=
Mayor igual que
=
Igual que
BETWEEN
Utilizado para especificar un intervalo de valores.
LIKE
Utilizado en la comparación de un modelo
IN
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 determinado
COUNT
Utilizada para devolver el número de registros de la selección
SUM
Utilizada para devolver la suma de todos los valores de un campo determinado
MAX
Utilizada para devolver el valor más alto de un campo especificado
MIN
Utilizada para devolver el valor más bajo de un campo especificado
Dirección de Educación Abierta y a Distancia y Virtualidad
85
Lenguaje Estructurado de Consulta
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 where. 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
86
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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 NomColeProce
from INFOACADEMICA
Figura 4.1
Dirección de Educación Abierta y a Distancia y Virtualidad
87
Lenguaje Estructurado de Consulta
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 utilizamos la palabra distinct después del select, es decir:
Select distinct NomColeProce
from INFOACADEMICA
88
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
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 ejemplos anteriores.
4.2.3 Cláusula WHERE
Se utiliza para seleccionar aquellos registros que cumplen una o más condiciones. Observemos el siguiente ejemplo: “obtener todos los estudiantes que pertenezcan al grado
6A”, la consulta se escribe de la siguiente forma:
select GradoGrupo
from ESTUDIANTE
where GradoGrupo = ‘6A’
Dirección de Educación Abierta y a Distancia y Virtualidad
89
Lenguaje Estructurado de Consulta
Figura 4.4
90
Ahora 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 GradoGrupo
from ESTUDIANTE
where GradoGrupo = ‘6A’ and Edad > 12
Figura 4.4
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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, Edad
from ESTUDIANTE
where GradoGrupo = ‘6A’ and Edad > 12
91
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’
Dirección de Educación Abierta y a Distancia y Virtualidad
Lenguaje Estructurado de Consulta
4.3 MODIFICACIÓN DE LA BASE DE DATOS
En el apartado anterior se estudió como realizar consultas, ahora se estudiara cómo añadir, 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 valores de atributos concretos. La sintaxis utilizada es la siguiente:
delete from r
where P;
92
Donde P representa el criterio y r la relación. Se puede utilizar delete para eliminar registros 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 recomienda 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 DETALLE
delete from DETALLE
 Borra todas las tuplas con E-mail de la tabla ESTUDIANTE
delete from ESTUDIANTE
where E-mail <> NULL;
 Borrar todas las profesiones que sean iguales a Administración de la tabla DOCENTEDIRGRUPO.
delete from DocenteDirGrupo
where 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 registro o insertar en una tabla los registros contenidos en otra tabla.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 informació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 INFOACDEMICA
values (11002247858, ‘Institución Educativa San Juan Bautista’, ‘Séptimo’, ‘Matinal’, ‘Publico’, ‘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’, ‘Publico’, ‘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 INFOACDEMICA
values (11002247858, ‘Institución Educativa San Juan Bautista’, ‘Séptimo’, ‘Matinal’, null,
‘Traslado de los padres’, ‘No repitió ningún grado’, ‘2012’);
Dirección de Educación Abierta y a Distancia y Virtualidad
93
Lenguaje Estructurado de Consulta
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 DETALLE
set añolectivo = 2013
 Actualizar el grado a cargo del docente director de grupo Leyla Ruiz
94
Update DOCENTEDIRGRUPO
Set GrupoAcargo = ‘6A’
Where NombreApellido = ‘Leyla Ruiz’
 Actualizar todos los registros de la taba SEGURIDADSOCIAL
update SEGURIDADSOCIAL
set 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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 datos (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. Evidentemente, 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 cuenta que para los dos últimos sistemas las versiones son Betas. Los links de
descarga son los siguientes: Windows y Linux: http://dev.mysql.com/downloads/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 caracterí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-
Dirección de Educación Abierta y a Distancia y Virtualidad
95
Lenguaje Estructurado de Consulta
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, jerarquías, retículas...), y el diagrama EE-R completo ya se ha realizado en la primera práctica, 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 propiedades, 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 conceptos 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?
96
Una vez abierta la aplicación, veremos algo similar a esto:
Figura 1
Para 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 diagrama ER. Esto nos conducirá al siguiente interfaz:
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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 3
3.- Haciendo doble clic sobre la tabla se desplegará un menú en la parte inferior del
interfaz.
Figura 4
En 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.
Dirección de Educación Abierta y a Distancia y Virtualidad
97
Lenguaje Estructurado de Consulta
4.5.6 ¿Cómo crear los atributos de una relación?
Partiendo de la Figura 4, desplegamos la pestaña Columns
Column Name: nombre del atributo.
Figura 5
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.
98
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:
Corporación Universitaria del Caribe - CECAR
Bases de Datos
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.
Dirección de Educación Abierta y a Distancia y Virtualidad
99
Lenguaje Estructurado de Consulta
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’.
100
Index Name: nombre del índice.
Figura 8
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.
Corporación Universitaria del Caribe - CECAR
Bases de Datos
101
Dirección de Educación Abierta y a Distancia y Virtualidad
Lenguaje Estructurado de Consulta
ACTIVIDAD
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”
102
Corporación Universitaria del Caribe - CECAR
Bases de Datos
AUTOEVALUACIÓN
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 correspondientes 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)
Dirección de Educación Abierta y a Distancia y Virtualidad
103
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 Implementación. México: Pearson Educación. E-book. Recuperado de: http://books.google.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/mat3matik/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 – Relación. Recuperado de: http://www.belgrano.esc.edu.ar/matestudio/carpeta_de_access_introduccion.pdf
Corporación Universitaria del Caribe - CECAR
Bibliografía a Consultar
»» Nevado, M. Introducción a las Bases de Datos Relacionales. Madrid, España: Visión Libros. E-book. Recuperado de: http://books.google.com.co/books?id=0lUpB1lNUdIC&pg=PA6&lpg=PP1&dq=base+de+datos
»» Modelo relacional. Recuperado de: http://www.google.com.co/url?sa=t&rct=j&q=&esrc=s&source=web&cd=11&ved=0CGIQFjAK&url=http%3A%2F%2Fwww.fdi.ucm.
es%2Fprofesor%2Flgarmend%2FFBD%2FTema%25202.2%2520Modelo%2520relacional%2520v16.pdf&ei=aVG3UeLxLYv29gTZjICgBA&usg=AFQjCNHYSYIp7Kyq486ohmyCE6cLp2cEEQ&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=LW7HUaGCFNKs4AOGmICYBw&ved=0CC8Q6AEwATgK
»» Piattini, M. (2000). Líneas de evolución de las bases de datos. NOMATICA. Recuperado de: http://www.youtube.com/watch?v=4k1n20lRET8
»» Thibaud, C. (2006). Recursos Informáticos, MySql 5. Barcelona, España: Ediciones ENI. E-book. Recuperado de: http://books.google.com.co/books?id=wY0bHPmW-NUC&pg=PA11&dq=base+de+datos+con+Mysql&hl=es-419&sa=X&ei=UN-0UcfKOJW64APwp4DwDw&ved=0CDEQ6AEwAQ#v=onepage&q=base%20de%20
datos%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=-9cp6jfyW1I
Dirección de Educación Abierta y a Distancia y Virtualidad
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]
Descargar