Sie sind auf Seite 1von 97

Diseo de bases de datos

Programa desarrollado



1

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1



Universidad Abierta y a Distancia de Mxico

Ingeniera en Desarrollo de software

5 cuatrimestre

Programa de la asignatura
Diseo de Bases de Datos

Clave
150920519/ 160920518
Unidad 1.
Administracin de bases de datos

Diseo de bases de datos
Programa desarrollado



2

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2
ndice

Unidad 1. Administracin de bases de datos ..................................................................... 4

Presentacin de la unidad ........................................................................................................... 4
Propsito ........................................................................................................................................ 4
Competencia especfica .............................................................................................................. 4
Actividad 1. Intercambio de conocimientos. ............................................................................. 4
1.1. Perspectiva del rea de bases de datos ........................................................................... 5
1.1.1. Definicin de base de datos ............................................................................................ 8
1.1.2. Sistema Manejador de Base de Datos (DBMS) ........................................................... 8
1.1.3. Administrador de Base de Datos (DBA) ...................................................................... 10
1.2. Funciones de un sistema manejador de base de datos ............................................... 11
1.2.1. Conceptos generales ...................................................................................................... 12
1.2.2. Objetivos del sistema manejador de base de datos .................................................. 13
1.2.3. Funciones bsicas del sistema manejador de base de datos .................................. 14
1.2.4. Funciones especficas del sistema manejador de base de datos ........................... 15
Actividad 2. Uso y manipulacin de bases de datos............................................................. 15
1.3. Usuarios de un sistema manejador de base de datos .................................................. 16
1.3.1. Administracin de la estructura de la base de datos ................................................. 17
1.3.2. Administracin del sistema manejador de bases de datos ....................................... 19
1.3.3. Administrador de base de datos, desarrolladores, usuarios finales ........................ 19
Actividad 3. Generalidades de los DBMS ............................................................................... 20
1.4. Componentes de un sistema manejador de base de datos ......................................... 21
1.4.1. Esquema conceptual ...................................................................................................... 21
1.4.2. Estructura de la base de datos ...................................................................................... 22
1.4.3. Esquema de Integridad .................................................................................................. 23
Actividad 4. Componentes de un DBMS ................................................................................ 23
Autoevaluacin ........................................................................................................................... 24
Diseo de bases de datos
Programa desarrollado



3

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

3
Evidencia de aprendizaje: Cuadro Sinptico ......................................................................... 24
Autoreflexiones ........................................................................................................................... 24
Cierre de la unidad ..................................................................................................................... 25
Para saber ms ........................................................................................................................... 25
Fuentes de consulta ................................................................................................................... 25


Diseo de bases de datos
Programa desarrollado



4

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

4
Unidad 1. Administracin de bases de datos

Presentacin de la unidad

Bienvenido(a) a la asignatura de Diseo de bases de datos. En esta primera unidad
trabajars con los conceptos bsicos para administrar una base de datos, que van desde
conocer qu es un administrador de base de datos (DBA) y que es el sistema manejador
de base de datos (DBMS), adems de las caractersticas y las funciones que debe tener
dicho manejador, de igual manera, conocers cmo se estructura una base de datos
ntegra.


Propsito

Identificar cules son las funciones de un Administrador de Base de Datos (DBA) y las del
Sistema Manejador de Base de Datos (DBMS), adems de aprenders como se compone
un DBMS y cules son los procesos que puede realizar el usuario en una base de datos.


Competencia especfica

Distinguir los conceptos bsicos y caractersticas de un sistema manejador de bases de
datos (DBMS) para identificar sus funciones mediante el estudio de la estructura del
mismo.


Actividad 1. Intercambio de conocimientos.

Bienvenido al foro de discusin, creado para que comentes asuntos relacionados con la
asignatura; en l, conocers a tus compaeros(as) de grupo y entre todos(as) podrn
apoyarse para resolver dudas, inquietudes, externar comentarios, etctera, el foro estar
abierto durante todo el curso y consta de varias entradas o categoras a las que debers
ingresar dependiendo del tipo de participacin que quieras hacer, lo que se permite en el
foro es lo siguiente:

Comentar asuntos personales como tu nombre y experiencias propias.
Si tienes dudas o comentarios relacionados con detalles tcnicos, por ejemplo,
sobre la instalacin de alguno de los programas que se usan en el curso.
Comentarios de temas directamente relacionados con el contenido de la asignatura.
No est permitido realizar tareas en grupo, solo dudas especificas y apoyo.
Es recomendable que todos los comentarios sean de manera respetuosa y responsable.
Diseo de bases de datos
Programa desarrollado



5

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

5

Para comenzar ingresa al Foro Presentacin e intercambio de conocimientos.

Nota: El facilitador estar monitoreando el foro y tomara acciones al respecto en caso de
trabajos duplicados.


1.1. Perspectiva del rea de bases de datos

Antes de comenzar el tema, recordemos los conceptos claves de las asignaturas
anteriores los cuales sern de gran utilidad para esta unidad.

Un sistema de bases de datos es un conjunto o coleccin de informacin que es
almacenada de forma electrnica en un sistema computarizado, lo que permite a los
usuarios recuperar y actualizar la informacin en base a peticiones de consultas
estructuradas.

Una vez que recordamos que es una base de datos, es importante conocer a que nos
referimos cuando hablamos del Administrador de Base de Datos, conocido tambin por
sus siglas DBMS o bien, como servidor de la base de datos.

Un DBMS es el que se encarga de procesar las solicitudes de acceso a una base de
datos, ya sea para generar altas, bajas o modificaciones de informacin en dicha base de
datos, adems de proporcionar seguridad e integridad en los datos que se procesan al
realizar dichas solicitudes.

La administracin de base de datos tiene como alcance la organizacin completa de una
empresa o algn otro organismo que tenga la necesidad de utilizar bases de datos. Una
de sus principales ventajas consiste en que ofrece manejar, estructurar y consultar
informacin a gran volumen.El alcance de la administracin de base de datos queda
limitado a una base de datos en especfico y a los sistemas gestores que procesan dicha
base de datos.

Algunos de los administradores de bases de datos comnmente usados son los
siguientes:

a) Sistemas libres BSD (Berkeley software distribution), software de licencia libre:
PostgreSQL. Este sistema de administracin de bases de datos se enfoca en el
modelo relacional orientado a objetos.
MySQL. Sistema de administracin de bases de datos relacional multiusuario, se
distribuye bajo licencia GNU (General PublicLicense), licencia pblica general.
Diseo de bases de datos
Programa desarrollado



6

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

6
Microsoft SQL Express. Es un una versin ligera de Microsoft SQL Server, de
distribucin libre para el desarrollo de software; la limitante bsica respecto a la
versin completa es la capacidad de almacenamiento y el lmite de conexin.
b) Sistemas no libres bajo licenciamiento
Microsoft SQL Server. Es un sistema robusto para la administracin de bases de
datos, se basa en el modelo relacional, es un lenguaje de consultas estructuradas.
Tiene soporte para administrar transacciones a gran escala; es bastante
escalable, con gran estabilidad y seguridad para soportar los procedimientos de
almacenamiento de informacin.
Oracle. Es un sistema de gestin de bases de datos relacional de objetos. Por su
amplio soporte de transacciones, estabilidad y soporte multiplataforma, es
considerado como uno de los sistemas de administracin de bases de datos ms
destacados.


El objetivo de un sistema administrador de bases de datos se enfoca bsicamente en el
anlisis de rendimiento, optimizacin y estructura de la informacin que ser almacenada.
El almacenamiento de informacin se ha vuelto una de las principales necesidades de
todos los usuarios de sistemas de cmputo, esta necesidad de mantener almacenada,
administrada y estructurada la informacin cada vez en grandes volmenes es una tarea
que se puede solucionar con una herramienta de administracin de bases de datos.

Las caractersticas que debe tomar en cuenta un administrador para disear una base
datos son:

Almacenamiento de la informacin en gran volumen.
Gestin, control y coherencia de los datos.
Acceso eficiente y controlado de la informacin.
Debe permitir agregar, eliminar y modificar el contenido almacenado.

Es importante destacar que las funciones bsicas de los sistemas administradores de
bases de datos, adems del almacenaje de la informacin, abarcan la relacin existente
entre los datos, la estructura para la consulta y el manejo de la informacin, la cual debe
ser veraz y confiable para el usuario que utilizan estos sistemas. Existen diferentes
modelos de bases de datos (la eleccin de un modelo define la estructura de una base de
datos, determinada por el administrador de bases de datos). Entre los modelos ms
comunes estn:

Modelo jerrquico. Este modelo fue popularmente utilizado en sistemas
System/360, por muchas empresas y en algunos casos excepcionales puede
seguir siendo utilizado en la actualidad, sin embargo, la renovacin provocada por
Diseo de bases de datos
Programa desarrollado



7

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

7
el efecto 2000 se ha eliminado prcticamente de la mayora de los casos, para ser
remplazado por modelos mucho ms modernos y eficientes. El modelo jerrquico
se caracteriza por almacenar sobre una serie de registros, los cuales tienen
campos asociados a ellos, lo que les sirve para crear los enlaces entre los tipos de
registros.
Modelo en red. Se utiliz como estndar a finales de los sesenta; este tipo de
modelo no se refiere a que la base de datos estuviera almacenada en una red de
ordenadores, sino a la forma en que los datos se enlazaban con otros datos. Este
modelo representaba los datos en forma de una red de registros y conjuntos que
se relacionaban entre s, formando una red de enlaces. Este modelo, al igual que
el anterior, prcticamente ha dejado de utilizarse.
Modelo de datos relacional. Se caracteriza por el manejo en conjunto de una o
varias tablas, estructuradas en registros y campos, los cuales se vinculan entre
cada uno de ellos, teniendo como referencia un campo en comn. Durante el
diseo de bases de datos basadas en este modelo, se tiene que pasar por el
proceso de normalizacin de la base de datos, el cual se ver en los siguientes
temas. Algunas ventajas de este modelo de datos relacional, son: evita que la
informacin que se ingresa sea duplicada y garantiza la integridad referencial.
Modelos multidimensionales. Este tipo de modelos sirve para desarrollar
aplicaciones ms concretas para el modelado de bases de datos simples y
entendibles al usuario final, su idea principal se basa en que el usuario pueda
visualizar fcilmente la relacin existente en los diferentes componentes del
modelo; bsicamente el modelo multidimensional est formado por tablas. Donde
los campos y atributos de una tabla representan dimensiones de la misma.
Modelo de datos orientado a objetos. En la actualidad se utiliza este modelo, el
cual trata de almacenar en la base de datos los objetos completos, a travs de los
paradigmas de programacin como encapsulamiento, herencia y polimorfismo.
Modelo Entidad-Relacin. Este modelo parte de la definicin de entidades y
relaciones. Una entidad es un objeto que se desea almacenar, la cual se forma a
partir de datos que definen los objetos llamados tambin atributos. La relacin
entre las entidades refleja las interacciones existentes entre dichas entidades. Las
relaciones pueden ser por lo general: uno a uno, uno a muchos y muchos a
muchos.
La mayora de los sistemas de administracin de bases de datos estn
concentrada por tres grandes desarrolladores de sistemas, que son: Oracle, IBM y
Microsoft. Estos desarrolladores estn en constante transformacin, con el
propsito de irse adaptando a las principales tecnologas existentes hoy en da,
tales como Multimedia, Orientacin a objetos, Internet y web.


Diseo de bases de datos
Programa desarrollado



8

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

8
1.1.1. Definicin de base de datos

Una base de datos es comnmente conocida como el conjunto de informacin
almacenada, organizada y estructurada en un mismo contexto.

De acuerdo a la variacin de los datos almacenados, las bases de datos se distinguen
como:

Bases de datos estticas. Son de solo lectura, usadas bsicamente para
almacenar datos histricos que puedan ser accesibles para su utilizacin.
Bases de datos dinmicas. Almacenan la informacin durante su uso,
permitiendo operaciones fundamentales como actualizacin, agregar y eliminar
datos, as como tambin consultas.

Actualmente existen sistemas llamados Sistema manejador de base de datos, los cuales
brindan el almacenamiento de informacin dentro de una base de datos para su acceso
posterior de forma rpida y estructurada.

En las siguientes unidades, se estarn utilizando algunos ejemplos para el desarrollo y
creacin de bases de datos.


1.1.2. Sistema manejador de base de datos (DBMS)

Un sistema manejador de bases de datos es un conjunto o coleccin de informacin que
es almacenada de forma electrnica en un sistema computarizado, lo que permite a los
usuarios recuperar y actualizar la informacin en base a peticiones de consultas
estructuradas.

La siguiente imagen representa un sistema de base de datos, la cual est formada por
cuatro componentes: datos, hardware, software y usuarios.
Diseo de bases de datos
Programa desarrollado



9

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

9




El sistema de administracin de base de datos debe supervisar el desempeo de las
aplicaciones sobre la base de datos, con el fin de que el usuario final pueda tener la
informacin de forma oportuna.

Existen mltiples factores que pueden provocar una baja en el desempeo, tales como:

Un diseo estructurado fsicamente inadecuado.
El crecimiento descontrolado de las tablas.
Cambios en el software y/o hardware.

Es necesario que el administrador deba monitorear la base de datos constantemente
para hacer los ajustes necesarios a la estructura de la base de datos.

La integridad de la informacin es el estado donde se asegura que el contenido sea lo
ms correcto posible, derivado de las transacciones que se van realizando por los
usuarios autorizados. La integridad se puede clasificar en:

Figura 1. Ejemplo simple de un sistema de base de datos. Imagen tomada de
Date, C.J. (2001). Introduccin a los sistemas de bases de datos, Mxico,
Editorial Pearson Educacin, Pg. 5.

Diseo de bases de datos
Programa desarrollado



10

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

10
Integridad de dominio. Se debe asegurar que cada valor de un atributo est en el
dominio.
Integridad de entidad. Este tipo de integridad clasifica toda instancia y hace que se
distinga de las dems.
Integridad referencial. Este tipo de integridad supervisa cada dato que sirve como
referencia dentro de alguna tabla y verifica que dicho dato exista dentro de otra
tabla para crear relaciones.
Integridad definida por el usuario. Este tipo de integridad se define por el
diseador, el cual establece polticas, caractersticas o restricciones a la base de
datos.

La seguridad de un DBMS, se refiere bsicamente a la proteccin de los datos contra
accesos no autorizados, o bien modificaciones que van desde los datos completos o
algunas tablas o registro especifico. La seguridad se logra utilizando por lo menos los
siguientes mecanismos:

Vistas. Esta caracterstica permite limitar el acceso de los usuarios a la
informacin especfica o determinada por el diseador.
Privilegios. En esta caracterstica el administrador es quien tiene la facultad de
permitir o denegar ciertos privilegios sobre los objetos de la base de datos.
Encriptacin. Permite cifrar la informacin contenida en tablas, evitando el acceso
a usuarios no permitidos.
Inferencia. Restringe a los usuarios a fin de que no puedan deducir la informacin
para aquellos no autorizados.


1.1.3. Administrador de Base de Datos (DBA)

Un DBA (Data base administrator) es la persona que se encarga de los aspectos
estructurales de la base de datos.

Debido a la importancia del contenido de la informacin de una base de datos, el DBA por
lo general debe cumplir con ciertos requisitos de conocimientos, tales como:

Ser experto en TI (tecnologas de la informacin).
Conocimiento amplio sobre sistemas de administracin de bases de datos.
Por lo general se requiere que tenga conocimiento de algunos lenguajes de
programacin, con el fin de automatizar algunas actividades.

Asimismo el DBA tiene actividades especficas, entre sus funciones estn las siguientes:
Asegurar la integridad de la informacin contenida en la base de datos.
Diseo de bases de datos
Programa desarrollado



11

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

11
Estructurar u optimizar las consultas enfocadas a la recuperacin de la
informacin.
Debe establecer criterios de seguridad y proteccin de la informacin.
Deber definir procedimientos de respaldo, mantenimiento y de recuperacin de
las bases de datos.
Deber mantener un ambiente de colaboracin con el equipo de desarrollo para
determinar el modelo lgico y fsico.

Lo anterior determina algunas de las caractersticas que deber cumplir un buen
administrador de bases de datos para cumplir su principal responsabilidad, que es la de
mantener la informacin de forma confiable y veraz.


1.2. Funciones de un sistema manejador de base de datos

Como se ha mencionado en el tema 1.1, un DBMS (sistema administrador de bases de
datos) es un programa informtico que gestiona todo el acceso, estructura y organizacin
de los datos almacenados en una base de datos.

Para trabajar en el DBMS se debe preparar y codificar toda la base de datos
introduciendo tablas, atributos de las tablas y las relaciones que existen entre ellas, por
ejemplo, la tabla cliente, con atributos: numero de cliente, nombre de cliente, direccin de
cliente y otra tabla cuenta bancaria con atributos: no. Cuenta, tipo de cuenta y saldo; la
relacin sera que el cliente puede tener una o varias cuentas con saldo.

Para colocar esta informacin en DBMS se hace a travs de comando que sern
descritos en la unidad 3 de esta materia.

Lo anterior se obtiene por medio de un lenguaje de programacin, en donde el usuario
solicita cierta informacin, por ejemplo: Se desea consultar el saldo de una cuenta
bancaria:

a) El sistema de administracin de base de datos recibe y analiza la solicitud o
peticin del usuario.
b) El sistema de administracin de base de datos analiza el esquema de
correspondencia interna sobre la estructura de datos almacenados.
c) El sistema de administracin de base de datos, realiza las transacciones
solicitadas por el usuario sobre los datos almacenados en la base de datos.

Diseo de bases de datos
Programa desarrollado



12

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

12
A grandes rasgos, como se pudo apreciar en el ejemplo anterior las funciones de un
DBMS consisten en manejar, almacenar, modificar, eliminar y extraer los datos por medio
de peticiones hechas por el usuario.
La siguiente imagen da una perspectiva ms clara sobre la estructura de un sistema de
gestin de bases de datos.



Figura 2. Estructura bsica de un DBMS.

Rediseada de: In.Co, Facultad de Ingeniera, Universidad de la Repblica de Uruguay.
(s.f.). Curso: Fundamentos de Bases de Datos, Tema 1. Conceptos Generales. .
Disponible en:http://www.fing.edu.uy/inco/cursos/bdatos/teorico/2-
ConceptosGenerales.pdf


1.2.1. Conceptos generales

Retomando los conceptos mencionados en los temas y subtemas anteriores, se tiene:
DBMS. Sistema manejador de bases de datos. Su principal funcin es almacenar
la informacin.
BD. Base de datos, es un conjunto de datos pertenecientes a una coleccin.
Diseo de bases de datos
Programa desarrollado



13

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

13
Modelos de bases de datos. Son esquemas que determinan la estructura de una
base de datos, descrita en un lenguaje de programacin soportada por el DBMS.
Datos. Son la representacin de un objeto, pueden ser de tipo numrico,
alfabtico, lgico, entre otros.
Informacin. Es el procesamiento de los datos generados por el DBMS
Estructura de datos. Conforman la informacin, adems de que es quien define la
manipulacin de datos tales como altas, bajas o modificacin de stos.
DBA. Data base administrator, es la persona encargada de disear y mantener la
BD.
DDL. Lenguaje de definicin de datos.
DML. Lenguaje de manipulacin de datos.
Archivos. Los archivos estn formados por un conjunto de registros.
Registros. Los registros estn formados por un grupo de campos.
Campos. Son la mnima expresin de unidad de referencia.


1.2.2. Objetivos del sistema manejador de base de datos

El principal objetivo de un sistema manejador de bases de datos (DBMS) es almacenar
los datos para posteriormente poder acceder y recuperar la informacin de forma rpida y
estructurada. Hoy en da la manipulacin o gestin de una base de datos por medio de
un DBMS, se encuentra en una etapa bastante desarrollada, pues con la rpida evolucin
de las bases de datos han aumentado las necesidades de almacenamiento y necesidades
de resultados de la informacin. Un sistema manejador de bases de datos debe tener la
capacidad de administrar las ms complejas estructuras de datos para brindar un mayor
nmero de posibilidades de resultados de informacin.

Considerando lo anterior algunos de los objetivos de un DBMS son:

El objetivo primordial de un sistema de administracin de bases de datos es almacenar
datos y recuperar informacin.

Algunos otros objetivos de un DBMS son:

Independencia lgica y fsica de los datos. Este objetivo determina la capacidad de
modificar una parte de la informacin dentro de un nivel de la base de datos sin
que esta modificacin afecte al nivel superior u otros niveles y esta independencia
es parte de lo que debe cumplir un DBMS.
Minimizar la redundancia. El sistema se debe encargar de minimizar la
redundancia de la informacin ya que puede centralizar los datos para las
Diseo de bases de datos
Programa desarrollado



14

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

14
distintas aplicaciones y ser acezados desde distintos lugares, por ejemplo, tener la
informacin en la ciudad de Mxico D.F y acezarla desde Guadalajara.
Acceso concurrente. El permitir el acceso mltiple simultneo es que se puede
permitir el bloqueo de datos accedidos, es decir dos o tres personas puedan
entrar al mismo tiempo a la base de datos y para evitar perdida o que cada uno
haga cosas diferentes y la bd termine con incoherencias, se bloquean
momentneamente los datos a que aceza el primero y cuando este deja libre esa
informacin ya puede ser alterada por el segundo que entro a la bd.
Integridad de los datos. Se deben de tomar medidas de transacciones que
permitan evitar fallos por actualizacin incoherente, eliminacin equivocada de
datos, por ejemplo, si es alterado el nombre de un cliente, sean alterados todas las
operaciones que realizo este cliente corrigiendo su nombre en todas.
Seguridad y proteccin. Se deber contar con medidas preventivas que permitan
mantener un control de la auditoria y saber o determinar en qu momento se
realiz una modificacin, al poder entrar a la bd. Varios usuarios del DBMS cuenta
con estas medidas para llevar ese registro que quien realizo que operaciones.
Respaldo y recuperacin. Debe permitir almacenar la estructura y el contenido de
la informacin, as como tener la facultad de poder recuperar su estado en un
momento previo.


1.2.3. Funciones bsicas del sistema manejador de base de datos

Un DBMS (sistema manejador de bases de datos) cuenta con dos funciones bsicas:

Definir las estructuras para almacenar los datos. Se debe tener en cuenta que al
disear una base de datos es de suma importancia definir la estructura mediante
algn modelo de diseo de base de datos, que se utilizar para el almacenamiento
de la informacin, lo cual ser el resultado final de la informacin deseada por el
usuario. La definicin de las estructuras de cmo deben estar los datos lo veremos
en la unidad 2 de esta materia, la cual consiste en definir que tablas se van a usar,
con que caractersticas y que relaciones.

Manipular los datos. De acuerdo con Silberchatz (2006), se refiere a las consultas
y modificaciones que se pueden realizar en una base de datos. Para la
manipulacin de los datos es necesario realizar algunos procesos, los procesos
que se pueden realizar para dicha manipulacin de datos, son los siguientes:

o La recuperacin de informacin almacenada en la base de datos.
o La insercin de informacin nueva en la base de datos.
o La eliminacin de informacin incluida en la base de datos.
Diseo de bases de datos
Programa desarrollado



15

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

15
o La modificacin de informacin almacenada en la base de datos.
o La actualizacin de la informacin incluida en la base de datos.


1.2.4. Funciones especficas del sistema manejador de base de datos

En el tema anterior vimos las funciones mnimas o bsicas de un sistema manejador de
bases de datos pero un sistema manejador de bases de datos tambin debe o puede
encargarse de algunas de las funciones especficas como son:

Definir las relaciones entre los datos, obtenidas mediante el manejo de un
diccionario de datos.
Gestin de los datos almacenados, creando estructuras que son requeridas para
el almacenamiento de los datos.
Transformacin de los datos. Se deben modificar por medio de las transacciones
bsicas para que los datos almacenados deriven informacin que ser de utilidad
para el usuario final.
Seguridad de los datos. Se debe tener en cuenta polticas y normas, las cuales
son definidas por el DBA, en caso de cadas del sistema y para la restriccin de
acceso a la informacin, dichas medidas de seguridad son necesarias para brindar
proteccin de los datos en la base de datos.

Las funciones de un DMS, se pueden enfocar en bsicas y especficas debido a que en
las funciones bsicas se trata de forma general el funcionamiento de un DBMS y en las
funciones especficas nos sirven para poder comprender concretamente para que se
utilice un DBMS.




Actividad 2. Uso y manipulacin de bases de datos

Con el fin de reflexionar sobre el tema de perspectiva del rea de bases de datos,
responde las siguientes preguntas:

Para qu sirve una base de datos?
Qu es un sistema manejador de bases de datos?
Para qu empresa se te ocurre que podras disear una base de datos?
A continuacin te presentamos la actividad de Uso y manipulacin de base
de datos, que a diferencia de otros cuatrimestres, a partir de ste podrs
consultar los criterios de evaluacin de cada una de las actividades.

Diseo de bases de datos
Programa desarrollado



16

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

16
Qu funciones realizara el DBA en esa empresa?

1. Ingresa al foro y participa.
2. Comparte tu respuesta a las preguntas planteadas.
3. Contribuye con algn comentario a por lo menos dos compaeros(as) sobre sus
respuestas.
4. Con base en las aportaciones de tus compaeros(as), elabora tus conclusiones y
deja tu evidencia en el foro.


1.3. Usuarios de un sistema manejador de base de datos

Existen dos clasificaciones principales de usuarios de un DBMS la primera es por relacin
a la utilidad y la segunda por las personas que trabajan directamente y solo con la bd.

Por relacin a la utilidad del dbms:
Primordialmente una base de datos cuenta con tres tipos de usuarios en relacin a
utilidad.
Usuario DBA (Usuario Administrador de la base de datos) : Es quien se encarga
de disear y mantener la estructura de la base de datos.
Desarrollador de aplicaciones: Son los el usuario que determina e implementa las
transacciones que debern estar direccionadas al manejo de la informacin dentro
de la base de datos.
Usuario final: es el que utiliza las consultas, y realiza operaciones tpicas de altas,
bajas y cambios.
Por relacin directa a la base de datos:

Las personas que trabajan directamente con una base de datos se distinguen por tipos de
usuarios. De acuerdo a su funcin o nivel de conocimiento, existen diferentes tipos de
usuarios que se catalogan de acuerdo a su funcin especfica dentro la base de datos
como:
Programadores de aplicaciones.
Usuarios normales.
Usuarios especializados.
Usuario administrador de la base de datos.

De los usuarios anteriores, se dar una explicacin ms exacta sobre la funcin de cada
uno de ellos.


Diseo de bases de datos
Programa desarrollado



17

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

17
1.3.1. Administracin de la estructura de la base de datos

En la administracin de la estructura de la base de datos se tiene considerado desde el
anlisis del diseo inicial hasta su implementacin, asimismo debe considerarse el control
y administracin de cada uno de los requerimientos, es decir para trabajar con una base
de datos se comienza con el anlisis, diseo e implementacin pero el trabajo no termina
ah, tambin se tiene que administrar, lo cual nos dice que se debe considerar varios
procesos que se estarn realizando a lo largo de la vida y uso del mismo.

Esta administracin se conoce como Gestin y se deben realizar las siguientes gestiones
siempre que sea necesario hacerlas:

Gestin de almacenamiento. Este tipo de gestin es de suma importancia para
un DBMS, pues las bases de datos por lo general van aumentando de tamao, lo
que va requerir ms espacio de almacenamiento que va desde los MB
(Megabytes) hasta aquellas grandes bases corporativas que podran llegar a
ocupar determinados terabytes.
Por lo general la memoria principal de los equipos de cmputo no puede soportar
gran escala de almacenamiento, por ello se resuelve almacenarla en soluciones
para almacenamiento como data storage, las cuales son trasladadas para su
mejor manejo y almacenamiento. Los componentes del gestor de almacenamiento
incluyen:

o Gestores de integridad y autorizacin. Se encargan de determinar
restricciones de almacenamiento de datos, autorizando el acceso a
usuarios determinados.
o Gestores de transacciones. Aseguran que la base de datos se quede en
estado activo.
o Gestores de archivos. Determinan el espacio de almacenamiento y las
estructuras de los datos utilizados.
o Gestores de memoria intermedia. Responsables de determinar el lugar
donde ser asignado el proceso a fin de optimizar el acceso a los datos.

Gestin de consultas. Los componentes del procesador de consulta incluyen:
o Intrprete del DDL. Es quien interpreta las instrucciones del lenguaje de
definicin de datos, registrando las definiciones en el diccionario de datos.
o Compilador del DML. Traduce las instrucciones del lenguaje de
manipulacin de datos a un lenguaje de consultas de instrucciones de bajo
nivel que entiende el motor de evaluacin de consultas.
o Motor de evaluacin de consultas. Ejecuta las instrucciones de bajo nivel
generadas por el compilador de DML.
Diseo de bases de datos
Programa desarrollado



18

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

18


En la siguiente figura se detallan los componentes de una estructura de una base de
datos y sus conexiones, donde esta divida por usuarios finales o normales, usuarios
programadores, usuarios sofisticados y usuarios administradores de base de datos. Los
cuales dependiendo del rol de sus funciones pueden establecer conexiones con el uso de
interfaces, programas de aplicacin, herramientas de consulta y administracin segn el
caso de cada usuario, para pasar por el proceso de consultas y la gestin de
almacenamiento ya sea de archivos, transacciones, autorizacin e integridad de los datos,
lo cual tendr como objetivo el acceso a la informacin guardada en la unidad de
almacenamiento de la informacin.




Diseo de bases de datos
Programa desarrollado



19

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

19



1.3.2. Administracin del sistema manejador de bases de datos

En el tema anterior comprendimos que se tiene que administrar la estructura de la base
de datos cuidando el almacenamiento y consultas necesarias, ahora se debe administrar
el sistema que maneja estos datos y el responsable de hacerlo es el DBA como ya se vio
en el tema 1.1.3 donde se describen sus caractersticas y funciones a realizar, ahora
describimos lo que debe cubrir la administracin del DBMS.

La tarea de administracin del sistema manejador de bases de datos comprende una
serie de actividades que debe realizar el DBA(Administrador de la base de datos), el cual
deber compilar y analizar estadsticas referentes al rendimiento del sistema e identificar
reas de oportunidad que sirvan para mejorar el desempeo de la base de datos, as
como la integridad de estos. Para realizar los cambios requeridos por adecuaciones o
mejoras a la estructura de la base de datos, y estos van surgiendo sobre las
necesidades de los usuarios. Es decir en algn momento se puede requerir obtener
nuevas consultas o reportes que no se haban contemplado en un inicio o datos nuevos
por ejemplo, en dar de alta un usuario nuevo en la base de datos porque se contrato un
empleado ms y la empresa requiere que entre a la bd, y capture ms informacin

Otra de la actividad para administrar al sistema manejador de bases de datos es analizar
las estadsticas de tiempo de ejecucin sobre la actividad de la base de datos y su
rendimiento, generalmente se pueden analizar por medio de los informes que ofrece el
DBMS, una vez identificado el problema se puede determinar si resulta apropiada una
modificacin, como por ejemplo, si se est haciendo lento el sistema porque la memoria
que dispone el equipo ya no es suficiente para la cantidad de informacin y se generan
estas estadsticas parta estar monitoreando los niveles de uso .

Otro de los aspectos importantes al administrar un DBMS es considerar las
actualizaciones del sistema administrador de bases de datos, por lo que es recomendable
analizar las caractersticas que se incorporan y as poder determinar si es factible
actualizar, o bien esperar a una segunda oportunidad de actualizacin. Como podra ser
adquirir un nuevo equipo y migrar la informacin al mismo o si sali una nueva versin del
DBMS y analizar si conviene migrar o no a la misma.

1.3.3. Administrador de base de datos, desarrolladores, usuarios finales

Figura 3. Estructura de un sistema.
Rediseada de: Silberchatz, A. (2002) Fundamentos de bases de datos, (4th Ed),
Espaa, Ed. McGraw Hill.

Diseo de bases de datos
Programa desarrollado



20

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

20
En el tema 1.2.3 se explicaron los diferentes tipos de usuarios que existen para un
manejador de bases de datos y se mencionaron los usuarios directos con la base de
datos, pero solo se explicaron los usuarios del sistema manejador de la base de datos a
continuacin explicaremos aquellos que tienen que ver directamente con la base de
datos.

En una base de datos se debe considerar la existencia especfica de determinados
usuarios que interactan dentro del sistema:

Personal del DBA. Un administrador de base de datos es la persona encargada de
definir los procedimientos de respaldo y recuperacin de datos, define los
esquemas de seguridad y proteccin para el acceso limitado a los datos,
mantenimientos rutinarios, definicin de esquemas.
Usuarios programador de aplicaciones. Este tipo de usuarios deben trabajar en
colaboracin con un DBA, pues por su alto conocimiento del DML son los
encargados de generar nuevos mdulos capaces de manejar los nuevos datos en
el sistema.
Diseador de la BD. La funcin de estos usuarios radica en que deben saber
identificar los datos necesarios para poder crear los esquemas en los diferentes
niveles del desarrollo de una base de datos.
Usuarios Normales. Este tipo de usuarios se clasifican en:
o Usuarios espordicos. Son los que tpicamente hacen uso de las
aplicaciones diseadas por un programador de aplicaciones.
o Usuarios simples o paramtricos. Son los usuarios que realizan actividades
programadas o de adecuacin establecida por los usuarios diseadores.
o Usuarios especializados. Por su nivel de conocimiento tienen la facultad de
poder generar transacciones o consultas ms sofisticadas, u obtener
informacin de una base de datos.


Actividad 3. Generalidades de los DBMS

En la presente actividad practicaras los trminos que comprendiste en los temas previos a
esta actividad y a su vez investigars otras caractersticas que complementen tu
aprendizaje.

Propsito: Distinguir cmo funciona el DBMS.

1. Realiza un mapa mental con los temas vistos previamente y complementa con una
investigacin sobre los mismos para que se profundice: las funciones tanto
bsicas como especficas del DBMS, los conceptos y generales del DBMS,
Diseo de bases de datos
Programa desarrollado



21

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

21
usuarios del DBMS, su administracin de la estructura y del sistema manejador los
desarrolladores y usuarios finales.
2. Guarda la actividad con el nombre DBD_U1_A3_XXYZ . Sustituye las XX por las
dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la
Z por la inicial de tu segundo apellido.
3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.


1.4. Componentes de un sistema manejador de base de datos

Los sistemas administradores de bases de datos son herramientas tecnolgicas que
apoyan directamente la gestin de los datos. Este sistema puede crear una base de
datos con su estructura lgica para que se pueda manipular los datos y consultar la
informacin que contiene.

Los componentes bsicos de un DBMS, son:
Motor de la base de datos. Este es el servicio principal para almacenar, procesar y
proteger los datos que sern incluidos propiamente dentro de la base de datos. De
la misma forma el motor es el encargado de crear las bases de datos para el
procesamiento, esto incluye la creacin de las tablas, datos y objetos de la base
de datos, as como ndices, vistas y procedimientos almacenados.
Diccionario de datos. Establece el espacio necesario reservado dentro de una
base de datos, utiliza la bsqueda de informacin sobre los usuarios, objetos,
esquemas y estructuras de almacenamiento. El diccionario de datos puede
contener la informacin de cmo se almacenan los procedimientos, los permisos
de los usuarios, las estadsticas de los usuarios, informacin de los procesos,
estadsticas sobre el crecimiento y el rendimiento de las bases de datos.
Procesador de consultas. Una base de datos relacional se compone bsicamente
del motor de almacenamiento, que es quien escribe y lee los datos del disco. Entre
los componentes que incluye el procesador de consultas estn los DDL, DML, y el
motor de evaluacin de las consultas.
Escritura de informes. Tambin conocido como generador de informes, extrae la
informacin de uno o ms archivos y la presenta en un formato especificado,
tambin puede dar el formato a los datos en grficos circulares, de barras y
algunos otros diagramas.

1.4.1. Esquema conceptual

Por esquema conceptual de una base de datos se entiende a la representacin de
objetos, dicha representacin se puede hacer en base a smbolos, grficos o modelos.

Diseo de bases de datos
Programa desarrollado



22

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

22
Un esquema conceptual de una base de datos es determinado de forma independiente
del sistema administrador de bases de datos. Un modelo conceptual es el lenguaje
utilizado para describir un esquema conceptual de la base de datos.

En general, es necesario contar con el esquema conceptual ya que nos brindar ideas de
cmo se conformara la base de datos. Por ejemplo:

Tenemos tres tablas llamadas profesor, materia y alumno, cada una de ellas tiene sus
atributos relacionados con ellas mismas y se representan en forma de tablas con sus
respectivos atributos; como existe una relacin entre ellas se hace explicita a travs de
lneas. En la unidad 2 de esta asignatura vers que cada tabla debe contener una clave
principal para hacer referencia a la misma y este esquema es una forma muy grafica de
entender que tabla est relacionada con cual y que caractersticas tiene cada una de
ellas.





1.4.2. Estructura de la base de datos

La estructura bsica de una base de datos consiste en un conjunto de tablas, de las
cuales se les asigna un nombre exclusivo y cada tabla representa una relacin entre un
conjunto de valores o atributos.

En el tema anterior observaste el ejemplo de manera grafica ahora cada una de esas
tablas se pueden representar como el siguiente ejemplo:

Una tabla llamada ALUMNO, la cual tiene como valores (atributos): numero de alumno,
nombre, apellido, fecha de nacimiento, carrera.

Una segunda Tabla llamada MATERIA, la cual tiene como valores (atributos): numero de
alumno, numero de materia, descripcin, semestre.

Dependiendo de la cantidad de informacin de datos en las diferentes tablas que
pertenecen a bases de datos y la capacidad de almacenamiento de hardware, la
Diseo de bases de datos
Programa desarrollado



23

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

23
organizacin y estructura de una base de datos se puede contar con una o mltiples
bases de datos.

Para el desarrollo y creacin de una base de datos, se podr ver en temas siguientes
donde se podrn utilizar diferentes tipos de instrucciones para la creacin de base de
datos, tablas y consultas a la informacin almacenada.


1.4.3. Esquema de Integridad

El objetivo de un esquema de integridad de bases de datos es proteger los datos contra
accesos no autorizados. Incluye aspectos tales como: controles de acceso, controles del
sistema operativo, control de accesos sobre permisos de lectura, escritura de los datos.

Las restricciones de integridad protegen a la base de datos de daos intencionales o
accidentales que repercutan en prdida total o parcial de informacin, adems se puede
proteger para evitar modificaciones realizadas a la base de datos por los usuarios
autorizados y no den lugar a la prdida en la consistencia de los datos.


Actividad 4. Componentes de un DBMS

Es momento de aplicar los que comprendiste sobre los componentes de un DBMS en una
situacin especfica que se plantea en sta actividad y as podrs comprobar tus
conocimientos de los trminos presentados en el tema previo.

Esta actividad tiene como finalidad distinguir los componentes de un DBMS, sus
esquemas y estructura.

A continuacin te presentamos las indicaciones para que inicies tu trabajo:

1. Realiza en un archivo de texto un esquema conceptual para una base de datos de
una farmacia donde existen las tablas de medicamento, cliente y proveedor.
2. En dicho esquema debes incluir los atributos que consideres en cada tabla,
mnimo 4 atributos por tabla, para que de esta manera se pueda conocer bien la
estructura de dicha base de datos.
3. Por ltimo describe el esquema de integridad que utilizaras y tambin redacta
que restricciones se aplicaran a la misma.
4. Recuerda, lo puedes realizar en Word o en microsoft visio.
Diseo de bases de datos
Programa desarrollado



24

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

24
1. Guarda la actividad con el nombre DBD_U1_A4_XXYZ. Sustituye las XX por las
dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la
Z por la inicial de tu segundo apellido.
2. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.


Autoevaluacin

Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
primera unidad del curso, es necesario que resuelvas la Autoevaluacin. Recuerda que
es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin
adecuada para cada uno.


Evidencia de aprendizaje: Cuadro Sinptico

El propsito de esta actividad de aprendizaje es organizar los conceptos abordados a lo
largo de la unidad sobre administracin de una base de datos, funciones de un DBMS,
usuarios de un DBMS, componentes de un DBMS, mediante un cuadro sinptico.
As que, lee las siguientes instrucciones para comenzar tu evidencia de aprendizaje:
1. En un archivo de texto crea un cuadro sinptico con las definiciones de los siguientes
temas: administracin de una base de datos, funciones de un DBMS, usuarios de un
DBMS, componentes de un DBMS, puedes utilizar imgenes que creas necesarias para
abordar cada definicin.
2. Guarda la evidencia con el nombre DBD_U1_EA_XXYY. Sustituye las XX por las dos
primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la
inicial de tu segundo apellido.
3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
4. Consulta la escala de evaluacin para conocer los parmetros de la actividad.


Autoreflexiones

Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses
al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a)
presente.

A partir de ellas elabora tu Autorreflexin en un archivo de texto llamado
DBD_U1_ATR_XXYZ.
Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.

Diseo de bases de datos
Programa desarrollado



25

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

25
Cierre de la unidad

Has concluido la primera unidad del curso. A lo largo de esta recordaste los conceptos
bsicos sobre administracin de una base de datos, funciones de un DBMS, usuarios de
un DBMS, componentes de un DBMS.

Dichos conceptos son tiles debido a que ahora tendrs que comprender las funciones y
diferencias de cada uno de ellos y as poder logar el buen control de un DBMS y sobre
todo de una base de datos y que sta funcione correctamente. No olvides las
caractersticas principales de esta unidad porque te servirn como punto de partida para
las siguientes unidades.

Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares, o no los recuerdes, de no ser este tu caso, ya
ests preparado(a) para seguir con la unidad dos, en donde continuars con el tema de
Modelado de bases de datos y profundizars en los modelos que existen tales como
entidad relacin, jerrquico, de red, relacional, relacional extendido y orientado a objetos,
los cuales te servirn para poder disear la base de datos y apliques los conceptos vistos
de la unidad, todo lo anterior tiene el fin de obtener el prototipo final cuando termines la
ltima unidad de Diseo de bases de datos.


Para saber ms

Si deseas saber ms acerca de la Administracin de bases de datos puedes consultar un
documento elaborado por el Departamento de Lenguajes y Ciencias de la Computacin
de la Universidad de Mlaga, disponible en el siguiente vnculo:
Sistemas de Bases de Datos: Introduccin y Conceptos Bsicos para la Administracin y
de Bases de Datos Relacionales:
http://www.lcc.uma.es/~bds/adminbd/apuntes/ABD1_Intro.pdf


Fuentes de consulta

Ceri, Stefano & Pelagatti, Guiseppe. (1984), Distributed Data Bases Principles &
Systems, Ed. Mc Graw Hill.
Date, C. J. (2001), Introduccin a los Sistemas de Bases de Datos. Mxico, Ed.
Pearson Educacin.
Solleiro, M. I., Daz de Sandi (2000), Notas de Base de Datos II, Mxico, Edit.
Mxico 2000.
Silberschat, A., (2002). Fundamentos de Base de Datos, Ed. Mc Graw Hill
Diseo de bases de datos
Programa desarrollado



26

Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

26
Rodrguez, M.A (199), Bases de datos. Espaa, Ed. Mc Graw Hill.
Ullman Jeffrey D. (1983). Principal of data base systems, Maryland, Ed. Computer
Science Press.
James M (1977). Computer data base organization. Englewood Cliffs, N.J. Ed.
Prentice Hall.
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

1


Universidad Abierta y a Distancia de Mxico










Programa de la asignatura
Diseo de Base de Datos

Clave
150920519

Unidad 2.
Modelado de bases de datos
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

2

ndice



UNIDAD 2. Modelado de bases de datos ................................................................................. 3
Presentacin de la unidad ........................................................................................................... 3
Propsito ........................................................................................................................................ 3
Competencia especfica .............................................................................................................. 3
2.1. Modelos de datos ................................................................................................................. 3
2.1.1. Modelo Entidad - Relacin ............................................................................................... 4
Actividad 1. Diagrama Entidad Relacin ............................................................................... 8
2.1.2. Modelo Jerrquico ............................................................................................................. 9
2.1.3. Modelo de red .................................................................................................................. 11
Actividad 2. Modelo Jerrquico y de Red ............................................................................... 13
2.1.4. Relacional ......................................................................................................................... 14
2.1.5. Relacional Extendido ...................................................................................................... 19
2.1.6. Orientado a objetos ......................................................................................................... 20
Actividad3. Modelo relacional, relacional extendido y orientado a objetos ....................... 22
Autoevaluacin ........................................................................................................................... 22
Evidencia de aprendizaje. Caso a diagramar ........................................................................ 23
Autoreflexiones ........................................................................................................................... 24
Cierre de la unidad ..................................................................................................................... 24
Para saber ms ........................................................................................................................... 24
Fuentes de consulta ................................................................................................................... 25


Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

3


UNIDAD 2. Modelado de bases de datos


Presentacin de la unidad

En la unidad anterior trabajaste con los conceptos bsicos necesarios para la
administracin de una base de datos, tales como un administrador de base de datos
(DBA) y qu es el sistema manejador de base de datos (DBMS), adems de las
caractersticas y las funciones que debe tener dicho manejadores.

En esta unidad, para dar continuidad a lo anterior, conocers la utilidad de los diferentes
modelos de bases de datos que de forma general son la estructura o formato de una base
de datos descrita en un lenguaje formal por medio de diagramas.

Cada uno de los diagramas de bases es necesario para lograr una estructura de base de
datos ntegra, que pueda ser utilizada para diferentes transacciones fiables para el
usuario. De cada modelo comprenders las caractersticas, cmo se obtienen y cmo se
aplican. Por ello te invitamos a que inicies esta segunda unidad de Modelado de base de
datos y recuerda que cualquier duda que tengas sobre algn termino o tema, comntalo
con tu Facilitador(a), quien con gusto te orientar.

Propsito

El propsito de esta unidad es que de acuerdo a un texto proporcionado se lleguen a
obtener los diagramas de bases de datos basados en los diferentes modelos, para que en
etapas posteriores poder tengas el conocimiento para llegar a codificar dichos diagramas
y con todo esto lograr una eficaz base de datos para el usuario.

Competencia especfica

Diagramar modelos de bases de datos para definir las estructuras de bases de datos a
travs de la seleccin de un modelo que se adapte a la informacin de un caso especfico.

2.1. Modelos de datos

Un modelo de datos est enfocado a transformar una base de datos, la cual corresponde
a la descripcin de una situacin de la vida real; para ello se consideran los tipos de
datos que existen en dicha estructura y la manera en la que estn relacionados entre
ellos; adems se toman en cuenta sus restricciones de integridad, las cuales son la forma
en la que se cumplen para que reflejen correctamente lo que desean.

Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

4

Un modelo de datos unifica y organiza la manera de representar la informacin de un
problema dado. En los siguientes subtemas se presentarn los modelos que puedes
utilizar para representar diagramas.

2.1.1. Modelo Entidad - Relacin

El modelo entidad Relacin se representa por la sigla E-R, en donde de manera grfica
se expresan las entidades, los atributos y las relaciones.

Entendemos por entidad a los objetos que existen y son parte del problema a representar
y contienen caractersticas particulares. A continuacin observa y comprende las
definiciones de los elementos que conforman el modelo E-R:

Una entidad es un objeto que existe y tiene caractersticas propias; se consideran
como las partes principales del problema dado. Por ejemplo el cliente representa
una entidad, tal como lo muestra la siguiente imagen:






Representacin entidad clientes


Un atributo es el nombre que se le asigna a las caractersticas de las entidades,
siendo sus propiedades descriptivas. Por ejemplo en un cliente sus atributos son:
nombre, edad, sexo, direccin. Los atributos se representan con elipses, tal y como se
observa en la siguiente imagen:









Representacin entidad clientes con sus atributos.


Clientes
Nombre
Clientes

Edad
Sexo
Direccin
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

5

Al enlace que une a las entidades se le conoce como relacin, que es la
asociacin entre dos entidades, y se representa mediante flechas y rombos, como
en la siguiente imagen:















Relacin entre dos entidades. Un cliente compra productos.


Ahora presta atencin al ejercicio 1 como ejemplo de este tipo de modelo:

Ejercicio 1

Hacer el diagrama entidad - relacin para una entidad llamada Profesor, con los
siguientes atributos: no. empleado, nombre, sexo, profesin, que imparte clase a muchos
Alumnos con atributos: matricula, nombre.

Observa cmo quedara lo que se solicit en las instrucciones:













Nombre
Clientes
Edad
Sexo
Direccin
Descripcin
Productos
Precio
Compra
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

6



















Solucin al ejercicio 1.


Las Reglas para este modelo serian:

- No debe existir ms de un identificador principal, si existieran, estos serian
alternativos.
- La entidad en general, debe tener mnimo un atributo denominado identificador o
clave primaria.

Existen tambin Normas para los diagramas E-R, que son:

- Emplear nombres para las entidades, y verbos en las relaciones.
- En las relaciones, siempre usar lneas rectas, sin cruzarlas.
- En cada entidad interviene una relacin con una determinada cardinalidad (tipos
de relaciones), de las cuales existen cuatro posibles:

1:1 Uno a Uno: una entidad se relaciona nicamente con una entidad y viceversa.
Ejemplo: en la relacin libro - ISBN, cada libro tiene una nica ISBN, y cada ISBN
corresponde a un nico libro.

1:N Uno a Varios: una entidad se relaciona con muchas de la otra entidad. Ejemplo: en la
relacin cliente coche, un cliente puede comprar muchos coches, pero un coche
pertenece a un nico dueo.

No. empleado
Profesor
Nombre
Sexo
Profesin
Matricula
Alumnos
Nombre
Imparte
clases
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

7

N:1 Varios a Uno: varios de la primera entidad se relacionan con uno de la segunda
entidad. Ejemplo: en la relacin Empleado-rea de trabajo, un empleado puede trabajar
en varias reas de trabajo.

N:M Varios a Varios: muchos de la primera entidad se pueden relacionar con muchos de
la segunda entidad. Por ejemplo, la relacin Empleado empresas, donde muchos
empleados trabajan en una empresa y un empleado puede trabajar en varias empresas.


Ejercicio 2

Ahora observa el ejercicio 2, que es un ejemplo para realizar, en base a las reglas, el
modelo E-R:

A la clnica La sanacin le interesa una base de datos para llevar el control de sus
pacientes y doctores. De los pacientes se guarda su cdigo, nombre, fecha de nacimiento;
de los doctores se guarda su no. Empleado, nombre, telfono y especialidad. Se interesa
guardar de los ingresos el cdigo de ingreso, fecha de ingreso y habitacin. Un doctor
puede atender varios ingresos, pero cada ingreso solo puede ser atendido por un doctor;
un paciente puede realizar varios ingresos.

Observa cmo quedara lo que se solicit en las instrucciones:




















Solucin al ejercicio 2.
Doctor
Nombre
Telfono
Especialidad
Paciente
Nombre
Cdigo
Fecha de nacimiento
Ingresos
Cdigo de
ingreso
fecha
Habitacin
No. empleado
Atiende
Realiza
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

8


Ahora veamos otra situacin: cuando hablamos de una relacin varios a varios (muchos
a muchos) puede llevar atributos propios, por ejemplo: un cliente puede rentar muchas
pelculas y una pelcula puede ser rentada por un cliente en diferentes momentos.











Relacin muchos a muchos


Para concluir el tema podemos decir que el modelo entidad relacin es conveniente que
se realice antes de realizar la base de datos, ya que es el fundamento para obtener los
atributos necesarios para cada entidad y las relaciones adecuadas entre cada atributo.

Actividad 1. Diagrama Entidad Relacin

Con el fin de corroborar de forma adecuada los conocimientos previos que consisten en
cmo pasar de una oracin aun diagrama entidad relacin, a continuacin realiza lo
indicado en las siguientes instrucciones:

1. Lee y analiza el siguiente caso:

Caso. Se desea realizar una base de datos para un biblioteca donde se guarda
informacin de los libros como ISBN, ttulo, autor; de cada libro existen ejemplares de
los que se guarda el nmero de ejemplar y su clave propia, tambin se guarda el
control de los usuarios que se llevan los ejemplares; de los usuarios interesa saber su
cdigo, nombre y direccin, adems de guardar la fecha de prstamo y devolucin
cuando sacan el ejemplar.

2. Identifica las entidades, atributos y relaciones del caso.
3. Realiza en un archivo de texto el diagrama del caso segn corresponda,
tomando en cuenta las caractersticas del modelo E-R
4. Guarda y enva en un archivo la actividad con el nombre DBD_U2_A1_XXYZ,
sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la
inicial de tu primer apellido y la Z por la inicial de tu segundo apellido.
Cliente
e
Clave
Nombre
Pelculas


Clave
Nombre
Renta
Fecha de
renta
Fecha de
devolucin
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

9

5. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.


2.1.2. Modelo Jerrquico

Despus de haber practicado el primer modelo, contina con el modelo jerrquico, el cual
es la representacin mediante la forma de rbol invertido, en la que el primer nivel o
superior est dado por una nica entidad.

Los niveles en los diagramas van unidos mediante lneas que representan las relaciones,
las entidades reciben el nombre de segmentos, mientras que los atributos se llaman
campos.

Es momento de conocer las caractersticas de la estructura jerrquica del modelo, una de
las cuales consiste en que los modelos estn formados por segmentos, los cuales reciben
diferentes denominaciones, y se muestran a continuacin:


Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

10


1) Segmento padre: es aqul que tiene descendientes, todos ellos localizados en el
mismo nivel.








Representacin del modelo jerrquico segmento padre.


2) Segmento hijo: es aqul que depende de un segmento de nivel superior. Todos los
hijos de un mismo padre estn en el mismo nivel del rbol.







Representacin del modelo jerrquico segmento hijo.


3) Segmento raz: el segmento raz de una base de datos jerrquica es el padre que no
tiene padre, es decir, siempre es nico y ocupa el nivel superior del rbol.







Representacin del modelo jerrquico segmento raz.







Segmento padre

Segmento hijo
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

11

Ahora observa el ejercicio 3, el cual te demostrar una solicitud del modelo jerrquico:


Una empresa con sucursales centraliza sus compras, para lo cual utiliza una base de
datos jerrquica en donde en el segmento raz se almacenan los datos de los
proveedores como su nombre y clave.; en el segundo nivel hay tres segmentos: en el
primero se guardan los datos de la direccin como son calle, nmero, ciudad; en el
segundo se almacenan los datos de los productos, y en ltimo se guardan las ofertas y
promociones; en el tercer nivel se encuentran las reas de distribucin, y dependen del
segmento de los productos.

El resultado de lo solicitado es el siguiente:















Solucin al ejercicio 3.


La implementacin del modelo jerrquico es fundamental debido a que hace posible
ordenar adecuadamente la ubicacin de cada una de las entidades y los atributos de
cada una de ellas.

2.1.3. Modelo de red
Lo primero que debes saber de este modelo es que fue una adaptacin al modelo
jerrquico, que consiste en evitarla redundancia de datos; las entidades se representan
por medio de nodos y de igual manera un nodo padre puede tener varios nodos hijos,
pero en este modelo se permite que un mismo nodo tenga varios nodos padres, lo cual no
est permitido en el jerrquico.
Es importante mencionar que el modelo de red permite representar las relaciones N:M.
Promocion
es
Direccin
Datos proveedores
Productos
reas de distribucin
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

12

Algunas de las caractersticas o bases del modelo de red son las siguientes:
El registro, el cual representa a un nodo de la red.
El elemento, el cual es un campo de datos que se deriva del nodo.
El agregado de datos, que define los nombres o conjuntos de nombres de los
campos.
Para comprender mejor la estructura del modelo de red y cmo se grafica, se presentan
los siguientes ejercicios.
Ejercicio 4: Las instrucciones son las siguientes
Se tienen casas, personas y ciudades; una persona solo puede vivir en una casa, y la
casa solo puede estar en una ciudad; una persona puede ser duea de varias casas.
Una persona puede ser padre de familia de otra persona.








Solucin al ejercicio 4: representacin del modelo de red.

Otra forma de representar el modelo de red es remplazando los crculos por cuadros que
contienen los atributos. Tal como se muestra en el siguiente ejemplo, en cual tiene como
entidades a curso, profesor y alumno; el curso cuenta con clave, ttulo y descripcin, tal
curso se oferta de tres maneras: centro, sitio, forma. Para poder acceder al curso se tiene
como Requisito: claveC, ttulo. El curso se ofrece por un Profesor (Idprofesor,
Nombreprof) y es tomado por alumnos (Matricula, Nombrealumn). Ahora observa cmo
quedara:


Persona
Ciudad
Casa
Vive
Es duea de
Esta
Es padre de
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

13

















Segunda forma de representar el modelo de red.

Para finalizar, podemos generalizar que el modelo jerrquico es parecido a un rbol, en el
que cada rama es un registro padre que contiene hojas o registros hijos, los cuales
pueden ser varios; sin embargo, el modelo de red puede tener varios registros padres
ligados a los registros hijos, lo que forma la estructura tipo red y lo diferencia del modelo
jerrquico.


Actividad 2. Modelo Jerrquico y de Red

Ahora que ya aprendiste lo ms importante de un modelo jerrquico y red podrs crear
bases de datos, con soluciones pertinentes.

Propsito: Distinguir los modelos y herramientas conceptuales para crear bases de datos.

A continuacin se muestra un prrafo que te definir un problema, el cual debes analizar
correctamente para que en base a lo que comprendas, logres realizar los diagramas tanto
jerrquico como de red, y discutir tus resultados en el foro. Lee con atencin las
instrucciones que en seguida se muestran:

1. Lee y comprende el texto siguiente: Considerar una base de datos llamada
Capacitacin, teniendo como segmento raz donde se almacena el nombre del
curso, el objetivo y la duracin de ste; en el segundo nivel hay tres segmentos:
uno se llama Instructores, que guarda los datos de los instructores, otro
segmento se llama Ubicacin, que guarda el lugar donde se impartir el curso
ClaveC Titulo Descripcin
ClaveC Titulo
Centro Sitio Forma
IDprofeNombreprof
Matricula Nombrealumn
CURSO
REQUISITO OFERTA
PROFESOR
ALUMNO
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

14

como saln, edificio, etc., y el tercer segmento se llama Material y guarda la lista
de materiales necesarios para cada curso.
2. Identifica sus entidades, atributos y relaciones
3. Realiza el diagrama jerrquico.
4. Del texto siguiente: Una agencia vendedora de automviles guarda registro de
los mismos considerando su matrcula, modelo y color; un automvil puede ser
vendido a un solo cliente, pero un cliente puede comprar varios autos; de los
clientes se guarda su RFC y su nombre.
5. Identifica sus entidades, atributos y relaciones.
6. Realiza el diagrama de red.
7. Ingresa al foro y participa.
8. Comparte tus resultados acerca de qu entidades y atributos encontraste para
cada caso y cmo se relacionan.
9. Contribuye con algn comentario por lo menos a dos de tus compaeros(as).
10. Con base en las aportaciones de tus compaeros(as), elabora tus conclusiones y
deja tu evidencia en el foro.


2.1.4. Relacional

El modelo relacional es una de los ms difundidos y utilizados, debido a que ofrece
sistemas ms simples y eficaces para la representacin y manipulacin de los datos; a
continuacin se define el modelo y cmo se representa.

Una base de datos relacional consiste en un conjunto de tablas, a cada una de las
cuales se le asigna un nombre exclusivo. Cada tabla tiene una estructura parecida a la
presentada donde se representaron las bases de datos E-R mediante tablas. Cada fila de
la tabla representa una relacin entre un conjunto de valores. Dado que cada tabla es un
conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla
y el concepto matemtico de relacin, del que toma su nombre el modelo de datos
relacional. (Silberschatz&Korth, 2002: 53)

Sintetizando lo anterior: la base de datos relacional no es ms que un conjunto de tablas
tomadas del modelo E-R, las cuales se forman tomando en cuenta el tipo de cardinalidad
que existe entre atributos, logrando una correspondencia entre valores de las diferentes
entidades del modelo.

Analiza el siguiente ejercicio y realiza el modelo relacional.

Ejercicio 5

Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

15

Se cuenta con la tabla llamada Jugador, dicha tabla cuenta con tres atributos que son: No.
Jugador, Nombre y Posicin_de_juego. A continuacin se representa el modelo
relacional y la entidad relacin de dicha tabla.






Tabla Jugador


















Solucin al Ejercicio 5: modelo entidad-relacin.



Es importante conocer que existen reglas para convertir de modelo Entidad-Relacin a
Relacional, debido a que de esto depende lograr un buen modelo antes de crear la base
de datos, detectando los atributos que se relacionarn con cada entidad.

Considera los siguientes puntos para hacer la transformacin de manera correcta:

1. Toda Entidad del modelo entidad-relacin se transforma a tabla.
2. Toda Entidad del modelo entidad-relacin debe tener una nica clave y para
distinguirla se va a subrayar.
3. Verificar la cardinalidad, es decir, si dos entidades se relacionan 1:1, 1:N, N:1 o
N:M,debers conceptuar las acciones descritas a continuacin:
No.Jugador Nombre Posicin_de_juego
Jugador
No. jugador
Nombre
Posicin_de_juego
Cuando ingresas nombres de campos en una
tabla, no debe de llevar espacios en blanco,
por lo que se le puede agregar un guion.
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

16

a. Si es 1:1 (uno a uno), la clave de cualquiera de las entidades pasa a la otra
entidad.
b. Si es 1:N o N:1 (uno a muchos o muchos a uno), la clave de la entidad que
tiene la cardinalidad 1 pasa a la tabla de la entidad que tiene el muchos.
c. Si es N:M (muchos a muchos), se crea una nueva tabla con el nombre de
la relacin y se deben poner las dos claves de ambas tablas, y tambin si
tiene atributos propios.
Lee con atencin el ejercicio 6.1 y realiza el modelo E-R.
Ejercicio 6.1
Relacin 1:1 (un cliente solo puede rentar una pelcula y la pelcula solo puede llegar a ser
rentada por un solo cliente). En base a la oracin presentada, obtener el modelo E.R.












Solucin al ejercicio 6.1.

Sobre la base del modelo entidad - relacin, se puede observar que la tabla CLIENTE y
PELCULAS tienen una relacin 1:1 llamada Renta, debido a esto al formar el modelo
relacional enviando cualquier clave primaria de una de las tablas a la otra, por tal motivo
puede quedar graficado como cualquiera de las siguientes imgenes:











clavepel
Cliente
Clave
nombre
Pelculas


Titulo
Renta
Clave nombre Clavepel
TABLA CLIENTE
Clavepel Titulo
Descripcin
TABLA PELICULAS
Clave nombre
TABLA CLIENTE
Clavepel Titulo clave
TABLA PELICULAS
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

17


Representacin en tabla del ejercicio 6.1.


Analiza el ejercicio 6.2 y realiza el modelo E-R.
Ejercicio 6.2
Relacin 1:N (un cliente puede rentar muchas pelculas y una pelcula solo puede ser
rentada por un nico cliente). En base a la oracin presentada, obtener el modelo E.R.










Solucin al ejercicio 6.2.

En este caso se muestra una relacin 1:N, donde la clave de 1 (CLIENTE) pasa a la de
muchos (PELICULA), para formar el modelo relacional.








Representacin en tabla del ejercicio 6.2.


Clave nombre
Clavepel
TABLA CLIENTE
Clavepel Titulo clave
Descripcin
TABLA PELICULAS
Cliente
clave
nombre
Pelculas


Titulo
renta
Clavepel
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

18



Ahora lee con atencin el ejercicio 6 .3 y realiza el modelo E-R.
Ejercicio 6.3
Relacin N:M (un cliente puede rentar muchas pelculas y una pelcula puede ser rentada
por muchos clientes en diferentes momentos). En base a la oracin presentada, obtener
el modelo E.R.











Solucin al ejercicio 6.3.

En este caso se muestra una relacin N:M, donde, para crear relacin entre tablas, se
crea una nueva entidad nombrada como la relacin, en este caso Rentas, la cual contiene
los atributos clave de cada entidad, adems de sus propios atributos, para una mejor
representacin.










Representacin en tablas del ejercicio 6.3.


Cada uno de los ejercicios presentados muestran casos con cardinalidad diferente,
adems que se presentan los modelos E-R y relacional de cada caso, lo que te permite
clarificar las dudas que hayas tenido de los puntos presentados.
TABLA CLIENTE
Clave nombre
Clavepel
TABLA PELICULAS
Clavepel Titulo
clave Descripcin
TABLA RENTAS
Clavepel clave FechaderentaFechadedevolucin
Renta
Cliente
clave
nombre
Pelculas


clave
nombre
Fecha de
renta Fecha de
devolucin
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

19



Concluyendo con este subtema, se puede expresar que no slo debemos conocer el
modelo entidad - relacin para crear una correcta base de datos, sino que es de suma
importancia conocer y comprender las reglas que rigen al modelo relacional, debido a que
gracias a ellas podemos crear el modelo relacional que indica de forma clara cmo se
conformarn las verdaderas tablas de una base de datos,

2.1.5. Relacional Extendido

El modelo entidad - relacin extendido incluye los conceptos ya vistos, tales como
entidad, atributo y relacin; pero adems incorpora los conceptos de subclase y
superclase, asociados con los conceptos de especializacin y generalizacin.

Ahora profundizars en los temas que ms importan para la realizacin del modelo
relacional extendido, los cuales son: especializacin y generalizacin.

El proceso de designacin de subgrupos dentro de un conjunto de entidades se denomina
especializacin(Silberschatz&Korth, 2002: 53).)

La especializacin se conforma por un grupo de entidades que a su vez puede contener
pequeos grupos de otras entidades, las cuales se pueden diferenciar de alguna manera
de este conjunto, debido a que no todas las entidades que pertenecen a un conjunto
tienen atributos compartidos.

Considrese el conjunto de entidades Persona, con atributos: nombre, direccin, telfono.
A su vez esta persona tambin puede clasificarse como Estudiante o Profesor.

Cada una de estas nuevas entidades se puede identificar por un conjunto de atributos que
incluyen los atributos que contiene la entidad Persona.

Ejemplificando lo anterior: la entidad Estudiante puede contener atributos extras como
Matrcula, mientras que Profesor contiene atributos extras tales como IdProfesor y
carrera.

Segn Silberschatz&Korth. (2002: 53) generalizacin, es una relacin contenedora que
existe entre el conjunto de entidades de nivel ms alto y uno o ms conjuntos de
entidades de nivel ms bajo. Los conjuntos de entidades de nivel ms alto y nivel ms
bajo tambin se pueden llamar superclase y subclase, respectivamente.

Tomando en cuenta el ejemplo previo en el que una entidad Persona puede ser
Estudiante o Profesor, se puede generalizar que la entidad Persona es la superclase y
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

20

Estudiante y Profesor son las subclases, las cuales tienen similitud con algunos atributos
de su superclase.

A continuacin se muestra la representacin del modelo relacional extendido, en donde se
tiene como entidades a Empleados, almacenista, secretaria, vendedor. Empleado es una
superclase, que tiene como subclases a almacenista, secretaria, vendedor, cada uno de
ellos tiene o cuenta con sus propios atributos.















Ejemplificacin del modelo relacional extendido.



2.1.6. Orientado a objetos

Para entender un poco ms la definicin de modelo orientado a objetos, es de suma
importancia mencionar que cada objeto de este modelo es una de las entidades que se
representan en el modelo E-R.

Cada objeto se comunica con otros objetos por medio de mensajes llamados parmetros,
los cuales se implementan por medio de mtodos.

A continuacin se define cada uno de stos trminos para generalizar el lenguaje:

Variables: contiene los datos del objeto; las variables se corresponden con los atributos
del modelo E-R.
Mensajes:a los que responde; cada mensaje puede no tener parmetros, o puede tener
uno o varios.
Mtodos, cada uno de los cuales es cdigo que implementa un mensaje; el mtodo
devuelve un valor como respuesta al mensaje.
Empleados
Clave
Nombre
Almacenista Secretaria
vendedor
Experiencia Velocidad de tecleo
No. licencia
Especializacin
Generalizacin
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

21



Generalizando: dentro del modelo orientado a objetos, una variable es la representacin
de cada atributo de una entidad, la cual puede contener mtodos a los que se accede por
medio de un par de mensajes del objeto al que corresponde. Dicha variable se utiliza para
guardar el valor del atributo, sin embargo, el mensaje es utilizado para actualizar el valor
de dicha variable.

Por ejemplo, de una entidad llamada Profesor se tiene el atributo profesin, el cual se
puede representar mediante:

Variable: profesin.
Mensaje: obtener-profesin, cuya respuesta sea la profesin del profesor.
Otro mensaje: establecer-profesin, que necesita un parmetro nueva-profesin, para
actualizar la profesin del profesor.

Cabe mencionar que este modelo se utiliza cuando se va a realizar la programacin
necesaria para acceder a las base de datos, tomando en cuenta las entidades y atributos
de dicha base de datos a utilizar.

Analiza el ejercicio 7 y realiza el modelo orientado a objetos.

Ejercicio 7

Para ejemplificar de forma sencilla el modelo orientado a objetos, se tiene la entidad
Automvil, la cual cuenta con una serie de atributos tales como marca, modelo y color.
Los mensajes o mtodos que puede tener este objeto tomando en cuenta la entidad son:
frenar, acelerar y retroceder, todo depende de la instruccin que se le d a la entidad
Automvil al acceder a sus mtodos.











Solucin al ejercicio 7.


Automvil
Marca
Modelo
Color
Frenar
Acelerar
Retroceder
Atributos
Mtodos
Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

22

Actividad3. Modelo relacional, relacional extendido y orientado a
objetos

Para concluir la unidad es importante que analices los casos y elabores algunos de los
diagramas que se revisaron, tales como el diagrama relacional, relacional extendido y OO.

Propsito: Crear diagramas de bases de datos.

Instrucciones:
1. Del texto de la Actividad 2, donde obtuviste el modelo entidad - relacin, ahora
obtn el diagrama relacional del siguiente caso:

Considerar una base de datos llamada Capacitacin, teniendo como segmento
raz donde se almacena el nombre del curso, el objetivo y la duracin de este, en
el segundo nivel hay tres segmentos: uno se llama Instructores, que guarda los
datos de los instructores; otro segmento se llama Ubicacin, que guarda el lugar
donde se impartir el curso, como saln, edificio, etc., y el tercer segmento se
llama Material y guarda la lista de materiales necesarios para cada curso.
Realiza el diagrama relacional.

2. Sobre ese mismo ejercicio, modifcalo, agregando entidades de especializacin
a la entidad que t escojas y convirtelo a diagrama extendido; realiza el
segundo diagrama.
3. En ese mismo documento, y el mismo diagrama, escoge cualquier entidad y
represntala en modelo orientado a objetos, inventa posibles mtodos segn la
entidad que elijas.
4. Realiza en un archivo de texto las indicaciones 1, 2, 3 y Guarda la actividad con
el nombre DBD_U2_A3_XXYZ, sustituye las XX por las dos primeras letras de
tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu
segundo apellido.
5. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin


Autoevaluacin

Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
segunda unidad del curso, es necesario que resuelvas la actividad de autoevaluacin.
Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y
elegir la opcin adecuada para cada uno.


Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

23

Evidencia de aprendizaje. Caso a diagramar

Para reforzar el aprendizaje acerca de los modelos ms relevantes, en base a un caso
realizars los modelos para representar grficamente e identificar cmo se utilizan al
momento de realizar una base de datos, considerando que todo esto es el fundamento
para formar bases de datos funcionales e ntegros.

A continuacin se muestran las instrucciones para que desarrolles tu evidencia de
aprendizaje, lee con atencin lo siguiente:


Instrucciones:

1.- Lee el siguiente caso:
Se desea informatizar la gestin de una tienda informtica. La tienda
dispone de una serie de productos que se pueden vender a los clientes. De
cada producto informtico se desea guardar el cdigo, descripcin, precio y
nmero de existencias. De cada cliente se desea guardar el cdigo,
nombre, apellidos, direccin y nmero de telfono. Un cliente puede
comprar varios productos en la tienda y un mismo producto puede ser
comprado por varios clientes. Cada vez que se compre un artculo quedar
registrada la compra en la base de datos junto con la fecha en la que se ha
comprado el artculo. La tienda tiene contactos con varios proveedores,
que son los que suministran los productos. Un mismo producto puede ser
suministrado por varios proveedores. De cada proveedor se desea guardar
el cdigo, nombre, apellidos, direccin, provincia y nmero de telfono.

1. Guarda en un documento de Word todos los modelos que realizars en los
siguientes puntos.
2. Obtn del caso presentado las entidades y atributo de cada entidad.
3. Relaciona las entidades, usando un nombre en cada relacin.
4. Asigna la cardinalidad correspondiente segn indica el caso.
5. Realiza el modelo Entidad Relacin.
6. Una vez terminado el modelo E-R, realiza las tablas del modelo Relacional.
7. Con la informacin del caso, toma una entidad y realiza el modelo Orientado a
objetos.
8. Guarda la actividad con el nombre DBD_U2_EA_XXYZ, sustituye las XX por las
dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la
Z por la inicial de tu segundo apellido.
9. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin
10. Consulta la escala de evaluacin para conocer los parmetros de la actividad.


Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

24

Autoreflexiones

Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses
al foro Preguntas de Autoreflexin y consultes las preguntas que tu Facilitador(a)
presente.

A partir de ellas elabora tu Autorreflexin en un archivo de texto llamado
DBD_U2_ATR_XXYZ.
Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.

Cierre de la unidad

Has concluido la segunda unidad del curso. A lo largo de esta se vieron conceptos
bsicos sobre los diferentes modelos utilizados para la representacin de diagramas, los
cuales ayudarn a lograr fiables bases de datos.

Cada uno de los modelos te ayudar a organizar y obtener mejores bases de datos y de
forma oportuna, identificars si los campos o entidades que ests definiendo en una BD
son los correctos, y si los atributos que se presentan en cada entidad son los necesarios
para implementar una BD que pretendas desarrollar.

Un punto importante que debes tomar en cuenta son las relaciones que generas entre
entidades y sus atributos, debido a que si no estn conectadas no logrars hacer
funcionar adecuadamente la insercin, actualizacin o modificacin de datos en tu BD.

Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya
ests preparado(a) para seguir con la unidad tres, en donde continuars con todo ello,
con el fin de obtener el prototipo final de una base de datos.


Para saber ms

Si deseas conocer ms sobre los modelos de bases de datos que existen, consulta la
siguiente direccin.

Complejo Tecnolgico, Campus de Teatinos 29071 Mlaga. (Espaa), abril 2012
http://www.lcc.uma.es/~galvez/ftp/bdst/Tema2.pdf.

ndex del sitio: http://www.lcc.uma.es/


Diseo de bases de datos
Modelado de bases de datos


Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software

25

Fuentes de consulta

Date C.J. (2001) Introduccin a los Sistemas de Bases de Datos, 7ma Edicin, Ed.
Addisson Wesley Longman.
Silberschatz A. & H. F. (2002) Fundamentos de Bases de Datos, 4ta Edicin, Ed. Mc
Graw Hill.

Ramez E.&Shamkant B. Sistemas de Bases de Datos, 2da Edicin, Ed. Navathe



Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 1


Programa de la asignatura
Diseo de Base de Datos

Clave
150920519
Unidad 3. Implementacin de Bases de datos

Clave: 150920519

Universidad Abierta y a Distancia de Mxico







Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 2
ndice
Unidad 3. Implementacin de bases de datos
3.1. El lgebra y el clculo relacional
3.1.1. Una ventaja revolucionaria en la manipulacin de datos
3.1.2. lgebra relacional
3.1.3. Clculo relacional
3.1.4. La dificultad relativa del lgebra relacional y el clculo relacional
Actividad 1. Problemas de algebra y clculo
3.2 Implementacin Relacional
3.2.1. Modelo Relacional
3.2.2. Definicin de tablas y esquemas
3.2.3. Manipulacin de datos
3.2.4. Definicin de vistas
Actividad 2. Relacional- Grficos
3.3 Implementacin relacional con lenguaje de consulta grficos
3.3.1. Definicin del lenguaje de consultas
3.3.2. Manipulacin de datos.
3.3.3. Definicin y entrada de datos
3.4 Sistemas de bases de datos cliente/servidor
3.4.1. Conceptos de cliente/servidor
3.4.2. Base de datos servidor.
3.4.3. Manipulacin y programacin del servidor de datos
3.5 Organizacin fsica de los sistemas de base de datos
3.5.1 Organizacin fsica de los sistemas de base de datos
3.5.2. Acceso fsico a la base de datos.
3.5.3. Formas de almacenamiento secundario
3.5.4. Factores de rendimiento del disco
3.5.5. Formatos de almacenamiento de datos en disco
3.5.6. Organizacin de archivos y mtodos de direccionamiento
3.5.7. Correspondencia entre estructuras de datos lgicas y estructuras de datos fsica
Actividad 3. Cliente-Servidor-datos
Autorreflexiones
Cierre de la unidad
Para saber ms
Fuentes de consulta



Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 3

Unidad 3.Implementacin de bases de datos

Presentacin de la unidad

En este tramo final de la asignatura de Diseo de Bases de Datos iniciars tu aprendizaje
con temas de gran inters, tales como el lgebra relacional, que se refiere a operadores
que en ella se utilizan para la mejor administracin de las bases de datos, y el clculo
relacional, equivalente al lgebra relacional, pero basado ms en la lgica.

Durante la unidad recordars un poco de lo referente al modelo relacional, y aunado a
ello, aprenders a implementarlo una vez que conozcas la definicin de tuplas y
esquemas. Otro punto de suma importancia es el conocer cmo crear bases de datos y
cmo realizar consultas en ellas a travs del uso de comandos de SQL, los cuales
ayudarn a determinar si tu base de datos es til para satisfacer las peticiones
formuladas por el usuario. Finalmente, conocers los dispositivos de almacenamientos
ms comunes y tiles para guardar o respaldar bases de datos.
Propsito

Los propsitos de esta unidad son:

Comprender los operadores del lgebra relacional y las operaciones lgicas del clculo
relacional necesarias para complementar las bases de datos.

Sobre la base del modelo relacional implementado, realizar bases de datos y consultas de
las mismas mediante el uso de comandos SQL, tomando en cuenta los dispositivos de
almacenamiento necesarios para el resguardo de las bases de datos.


Competencia especfica

Implementar bases de datos para administrar informacin de un caso especfico mediante
el uso de los diferentes modelos de manipulacin de bases de datos.




Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 4
3.1 El lgebra y el clculo relacional.

Al estudiar las unidades anteriores te has dado cuenta que es muy importante contar con
bases de datos (BD) para organizar la informacin y cul es la forma adecuada de
generar las bases de datos, adems de ello es de suma importancia que conozcas la
formas apropiadas para obtener la informacin de dichas BD, pues aunque la informacin
se encuentre almacenada, a veces resulta necesario consultar datos especficos.

Primero es importante considerar que una base de datos es un conjunto de informacin
que se encuentra organizada en forma de tablas, pero de nada sirve tener esta
informacin si no se le puede consultar o extraer los datos que se necesitan, aunque
estos se encuentren en diferentes tablas.

Para poder obtener o consultar datos de una BD, en la actualidad existen lenguajes de
programacin llamados de consultas, los cuales vers a detalle ms adelante, estos
lenguajes se fundan en la combinacin de diferentes tablas conocidas como relaciones.

Es importante que conozcas de forma sencilla qu es el algebra relacional y que es el
clculo relacional, as como la diferencia que hay entre ellos. Dichas definiciones se
muestran a continuacin:

El lgebra relacional muestra paso a paso cmo se obtiene informacin a partir de
tablas relacionadas, por tal motivo se le conoce como de tipo procedimental; mientras
que el clculo relacional indica lo que se quiere saber, pero no muestra cmo es posible
obtenerlo, y por tal motivo se le denomina de tipo declarativo.

Para entender un poco ms lo referente al lgebra relacional, lee las siguientes
definiciones:

Operandos: son los valores asignados.
Operadores: que entienden como los procedimientos que generan nuevos
operandos o valores.

Para aplicar estos conceptos recuerda que una base de datos se forma de tablas
relacionadas entre s, de manera que a los operadores del lgebra son a los que en
lgebra relacional se les denomina relaciones.

Entonces para comprender qu es el algebra relacional, es vlido describirla como el
conjunto de operaciones que se aplican sobre relaciones en una BD.

Con todo lo descrito anteriormente podemos resumir que:

lgebra relacional: es un lenguaje procedimental, es decir, se indica qu y cmo.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 5
Clculo relacional: es un lenguaje que no es procedimental, se indica qu, pero no cmo
obtenerlo.

A continuacin se muestran algunos ejemplos de lenguajes de consulta que se basan en
el lgebra relacional y clculo relacional para la obtencin de dichos datos, son los
siguientes:
El SQL (StructuredQueryLanguaje), este lenguaje est basado en el lgebra
relacional.
El QBE (QuerybyeExample), este lenguaje est basado en el clculo relacional.

Las definiciones vistas en este tema sobre lgebra y clculo relacional, son el punto de
partida para que en las siguientes unidades puedas comprender la funcionalidad que
tienen al momento de consultar datos de una BD, y ms an: cmo se expresan o se
generan para para ser interpretadas por los lenguajes de consultas como SQL y QEB.
3.1.1 Una ventaja revolucionaria en la manipulacin de datos.

Imagina una empresa grande, cualquiera de ellas maneja enormes volmenes de
informacin, adems de que sta tiene que organizarse con la finalidad, como mencion
anteriormente, de poder consultar datos especficos, por ejemplo:

Un banco: cuntos clientes tiene, en cuntos lugares del pas y del extranjero, con una o
varias cuentas, con uno o miles de movimientos cada una de ellas, o quiz solo interesa
saber cunto qued a deber el mes de junio del ao pasado.

O a lo mejor resulta que ese cliente que ya existe desea abrir una cuenta ms de crdito a
su nombre, pero desea que se agrupe con sus otras cuentas para conservar sus
antecedentes.

Hoy en da la existencia de lenguajes de manipulacin de datos DML (Data
ManipulationLanguage) permite realizar acciones tales como: consultas, modificacin e
insercin de datos en un conjunto de informacin comnmente llamado base de datos.

Las consultas forman la parte ms importante dentro de la manipulacin de datos, ya que
existe gran variedad de informacin almacenada en distintas tablas dentro de la base de
datos, la principal funcin de una consulta es extraer la informacin y la posible relacin
que existe con otros datos.

Gracias a lenguajes tales como el DML, se tiene una gran ventaja que vino a revolucionar
la manera de manipular la informacin , simplificando y haciendo la tarea muchsimas
veces ms rpida y confiable, sin dejar atrs los lenguajes formales tales como el lgebra
relacional y el clculo relacional.

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 6
A continuacin estudiars cada uno de los lenguajes y vers la forma tan sencilla de
obtener la informacin que desees de una base de datos.
3.1.2 lgebra relacional
Como ya se mencion, el lgebra relacional es el conjunto de operaciones que en base a
las relaciones que existen entre tablas, son tiles para la obtencin de cierta informacin
en una BD.

El estudio y la comprensin de este subtema te servir para que posteriormente
entiendas cmo funciona una consulta de datos en SQL.

El lgebra relacional es un lenguaje formal que muestra tcnicas fundamentales para la
extraccin de informacin de una base de datos. A continuacin se mostrarn las tcnicas
mencionadas:

Operadores Bsicos
Unin
Diferencia
Producto Cartesiano
Seleccin
Proyeccin
Operadores Derivados
Interseccin
Join
Divisin



A continuacin se explica cada una de estas tcnicas y cmo funcionan, todo esto para
que diferencies en qu caso te conviene aplicar cada una de ellas al momento de
consultar informacin de una BD.
De cada una de las tcnicas se muestra un ejemplo de tablas y, posteriormente, cmo
quedara la tabla resultante al aplicar dicha tcnica.

Unin
Como su nombre lo dice, este operador une o junta en una misma relacin las tuplas
o registros de dos relaciones diferentes. Estas se encuentran condicionadas a que
sean compatibles, es decir, el mismo tipo de atributos, y se expresa de la siguiente
manera.

Tabla clientes contado
ID NOMBRE EDAD
98 Juan Lpez 33
99 Arturo Jimnez 23
Tabla clientes crdito





ID NOMBRE EDAD
14 Mnica Ramos 25
15 David
Hernndez
36
Tabla clientescontadoclientescrdito
ID NOMBRE EDAD
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 7
98 Juan Lpez 33
99 Arturo Jimnez 23
14 Mnica Ramos 25
15 David
Hernndez
36



Diferencia
Es la resta de dos relaciones o tablas, generando una nueva relacin donde de la
primera se quitan aquellos registros que coincidan. Dicho de otra manera: se quedan
aquellos registros que estn en la primera pero no en la segunda.
De la misma manera que en caso de la unin, ambas tablas deben tener los mismos
atributos para que sean posibles.
Tabla clientes
ID NOMBRE EDAD
98 Juan Lpez 33
99 Arturo Jimnez 23
100 Jaime Reyes 38
Tabla cliente contado






ID NOMBRE EDAD
98 Juan Lpez 33
15 Margarita
Jurez
42
Clientes Contado
ID NOMBRE EDAD
99 Arturo Jimnez 23
100 Jaime Reyes 38
Contado clientes





ID NOMBRE EDAD
15 Margarita
Jurez
42

Producto cartesiano

Define una relacin que es la unin de cada fila de una entidad con la fila de otra entidad.

Clientes
ID NOMBRE EDAD
98 Juan Lpez 33
99 Arturo Jimnez 23


Productos

IDpro DESCRIPCION UNIDAD
23 MANZANA KG
24 SALSA ROJA PZ
25 AZUCAR KG
Resultado de aplicar el operador de producto cartesiano:
IDpro DESCRIPCION UNIDAD ID NOMBRE EDAD
23 MANZANA KG 98 Juan Lpez 33
24 SALSA ROJA PZ 99 Arturo 23
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 8

Jimnez
25 AZUCAR KG 98 Juan Lpez 33
23 MANZANA KG 99 Arturo
Jimnez
23
24 SALSA ROJA PZ 98 Juan Lpez 33
25 AZUCAR KG 99 Arturo
Jimnez
23


Seleccin

Se extrae una nueva tabla con los mismos atributos que cumplen con la condicin
especificada. Y se simboliza con:

Tabla clientes
ID NOMBRE EDAD
98 Juan Lpez 33
99 Arturo Jimnez 23
14 Mnica Ramos 25
15 David
Hernndez
36

edad>= 34 aos (clientes)

ID NOMBRE EDAD
15 David
Hernndez
36


Proyeccin
Produce una tabla como resultado con los atributos que se especifican, eliminando las
filas duplicadas; su smbolo es:

Tabla Clientes
ID NOMBRE EDAD
98 Juan 33
99 Arturo 23
14 Mnica 25
15 David 36
33 Juan 25


Nombre, Edad (Clientes)
NOMBRE EDAD
Juan 33
Arturo 23
Mnica 25
David 36
Juan 25
Nombre (Clientes)
NOMBRE
Juan
Arturo
Mnica
David

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 9










Interseccin

Es el resultado de aquellos registros que se encuentran en ambas tablas; y su smbolo
es:
Tabla clientes contado
ID NOMBRE EDAD
98 Juan Lpez 33
99 Arturo Jimnez 23

Tabla clientes crdito







ID NOMBRE EDAD
14 Mnica Ramos 25
15 David
Hernndez
36
99 Arturo Jimnez 23
ClientescontadoClientescreditos

ID NOMBRE EDAD
99 Arturo Jimnez 23



J oin (unin natural)
Es el resultado de unir dos relaciones, combinando los atributos de las dos (pero solo de
aquellas que tengan en comn)- Para lograr este join las entidades deben tener un
atributo en comn, y se simboliza *.

Tabla Empleados
ID NOMBRE EDAD IDP
98 Juan Lpez 33 98
99 Arturo Jimnez 23 99
14 Mnica Ramos 25 99
15 David
Hernndez
36 114

Tabla Puestos








IDP PUESTO
98 Almacenista
99 Vendedor
Empleados *Puestos
ID NOMBRE EDAD IDP PUESTO
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 10
98 Juan Lpez 33 98 Almacenista
99 Arturo Jimnez 23 99 Vendedor
14 Mnica Ramos 25 99 Vendedor








Divisin o cociente
Es el conjunto de atributos en dos relaciones en donde la segunda relacin esta incluida
en la primera. Y se representa con .

TABLA CLIENTES

ID EDAD
98 33
99 23
14 25
15 33

TABLA EDAD PROMEDIO






EDAD
23
33
CLIENTES EDAD PROMEDIO
ID
98
99
15

Retomando todo lo anterior y ya conociendo todas las tcnicas que existen en el lgebra y
en qu momento se puede aplicar cada una de ellas, te dars cuenta que se convierten
en una herramienta bsica para la manipulacin de los datos en una base de datos,
tambin piensa que se pueden combinar entre ellas y aplicar una sobre otra, haciendo la
obtencin de la informacin ms simple y sobre todo rpida para llegar al resultado.
3.1.3 Clculo relacional.

A continuacin vers cmo a travs del clculo relacional puedes expresar lo que deseas
obtener de tus bases de datos- Estudiar este tema tiene la finalidad de que al momento de
pasarlo a un lenguaje como el SQL lo hagas de una manera fcil y rpida, sabiendo que
el resultado que te va a mostrar es exactamente lo que quieres saber.

Como ya se mencion, recuerda que el lgebra relacional solo muestra lo que se desea
saber sobre ciertos datos especficos en una consulta de datos, adems no dice cmo
obtenerlo solo es la representacin de lo que se quiera de manera grfica sobre lo que se
dice con palabras.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 11
Para entender este tema se dividir en dos partes: clculo de tuplas y clculo de
dominios.


Clculo de tuplas:

Para entender qu es el clculo de tuplas, recuerda que una tupla es un registro o una fila
de una tabla en una base de datos.
Para poder expresar lo que se desea consultar en una base de datos, a modo de clculo
de tuplas, se utilizarn los siguientes smbolos_:

t Es la variable que representa lo que se desea saber
P(t) Es la frmula o forma en la que se va a obtener.
Negacin
Implicacin
Conclusin: conocido tambin como and o y
Disyuncin, conocido tambin como or u o
Cuantificador universal, tambin conocido para todo
Cuantificador existencial, tambin usado para existe al menos un

La forma de expresar una consulta en clculo de tuplas est dada por:

{ t / P ( t )}

De manera que, suponiendo una base de datos de una empresa que se dedica al diseo
de sistemas, y tiene dos tablas de empleados (una contiene los datos de los
programadores y otra los de analistas) y la consulta que se desea es obtener todos los
empleados de la empresa, se expresara de la siguiente forma:

{t| (t Programadores) (t Analistas) }

La anterior consulta define. De los trabajadores que existen, se quiere saber cuales son
programadores o analistas.

Ahora, si de esta misma base de datos se necesita saber los empleados que hacen las
dos funciones, es decir, que son programadores y analistas al mismo tiempo, la expresin
sera la siguiente:

{t| (t Programadores) (t Analistas) }

Otro caso: se quiere saber los empleados que son programadores, pero no analistas.
{t| (t Programadores) (t Analistas) }

Ahora que ya sabes como expresar consultas a modo de clculo de tuplas, vas a revisar
la siguiente tcnica para expresar consultas a modo de clculo de dominio

Clculo relacional de dominios
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 12
El clculo relacional de dominios tambin se refiere a expresar consultas a travs de
smbolos, pero en lugar de hacerlo sobre las tuplas o registros o renglones, lo hace sobre
dominios, mejor entendido como atributos o encabezados de columnas.

Su representacin es de la siguiente manera:

{<x1, x2,,xn> | P(x1,x2,,xn)}
En donde X1 a Xn son los atributos que se desea conocer al momento de hacer la
consulta y P(x1 a Xn) son los atributos de las tablas existentes.

La tcnica de clculo de dominios se apoya con el uso de los smbolos de clculo de
tuplas, pero en dominios.

A continuacin se muestra un ejemplo de uso de la tcnica de clculo de dominios, en
donde se tiene una base de datos con las siguientes tablas y atributos:

Obtener los alumnos con promedio superior a 4: {<codigo,nombre,edad,promedio> |(t
alumnos ) (promedio >4)}

Ahora que ya conoces la forma de hacer operaciones con algebra relacional y la manera
de representarlas con clculo relacional, ya ests listo(a) para comprender el cmo
convertir estas consultas a un cdigo en un lenguaje y ser aplicados a una base de datos,
pero antes, como ya te diste cuenta, se comentar acerca de la dificultad que existe para
el uso del lgebra y el clculo relacional.

3.1.4 La dificultad relativa del lgebra relacional y el clculo relacional.

A continuacin se presenta una explicacin de cmo se presenta la informacin en las
bases de datos y cmo intervienen el lgebra relacional y el clculo relacional en base a
consultas para poder acceder a ciertos datos de la informacin almacenada.

El poder representar todas las tablas de una base de datos y sus atributos, y sobre todo
las relaciones, es muy fcil si se trata de una base de datos pequea pero recuerda que
no siempre va a ser as, pues existen bases de datos tan complejas que resulta
prcticamente imposible realizar estas consultas en papel; lo valioso de haber tratado
estos ejemplos consiste en que te ayudan a razonar qu es lo que quieres en el lgebra y
cmo reescribirlo en el clculo.

Como ya se mencion, los lenguajes de consulta son aquellos en los que se solicita
informacin de la base de datos. Y si dominas estos, puedes llegar a realizar estas
consultas de manera ms fcil directamente en el sistema, pero debes saber que los
lenguajes de consulta como el SQL est en niveles superiores a los lenguajes de
programacin.

Los lenguajes de consulta se clasifican como procedimentales o no procedimentales. Los
lenguajes procedimentales son aquellos en los que el usuario dice al sistema que lleve a
cabo una serie de operaciones en la base de datos. En los lenguajes no procedimentales,
el usuario describe la informacin deseada, sin dar un procedimiento concreto para
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 13
obtener esa informacin, de la misma manera que lo hacen el lgebra y el clculo
relacional.

A continuacin realizars una actividad que te permitir practicar las tcnicas de lgebra y
clculo relacional.

Actividad 1. Problemas de algebra y clculo.

Para reforzar los temas vistos, es necesario que leas con atencin lo que a continuacin
se te pide, ya que ejercitars lo aprendido sobre lgebra y clculo relacional.

Propsito:
La presente actividad tiene como propsito que muestres las diferencias entre el lgebra y
el clculo relacional, adems de utilizar el lenguaje de consulta datos para la manipulacin
de datos en una BD.

Instrucciones:

Lee con atencin cada uno de los puntos y resuelve segn se te pida.

1. Observa la siguiente base de datos:

ALUMNOS(nroLeg,nombre,domicilio,planDeEstudios)
PROFESORES(NROLEGP,nombre,domicilio,planDeEstudios)
MATERIAS(nroMat,nombre,planDeEstudios)
EXAMENES(nroLeg,nroMat,nota,fecha,NROLEGP)
CURSAN(nroLeg, nroMat,NROLEGP)
2. De la BD anterior agrega cinco datos, a tu criterio, que sean referentes a los campos
de cada tabla, para cada una de ellas.
3. Realiza las siguientes operaciones:
Unin (sobre dos tablas en las que s se pueda aplicar, t escoge las tablas)
Diferencia
Producto cartesiano
Seleccin
Proyeccin
Interseccin
Join
Divisin
4. De las mismas tablas, crea, de acuerdo con tu propio criterio, dos operaciones propias
de clculo relacional (uno de tuplas y uno de dominios).
5. Coloca toda esta informacin en un archivo de Word.
6. Guarda la actividad con el nombre DBD_U3_A1_XXYZ.
7. Enva el archivo.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 14

3.2 Implementacin relacional

En esta tercera unidad es importante que recuerdes un poco sobre cmo se hace una
base de datos en el modelo relacional (este tema fue visto en la unidad dos de esta
misma asignatura). El modelo relacional se considera un modelo lgico de no muy alto
nivel, ya que est orientado a los registros, las tablas y las relaciones entre ellas.

Tambin recuerda que el sistema gestor de bases de datos es en donde se va a
manipular la base de datos, y hay muchos en el mercado.

Otro aspecto importante a considerar es la diferencia entre el modelo relacional y el
modelo entidad-relacin, los cuales se representan, como sabes, de manera diferente.

Recuerda los siguientes trminos:

Entidad: es el conjunto de todas las filas de una relacin y sus atributos.
Atributo: son todas las columnas de una relacin.

En el modelo entidad - relacin se utilizan diferentes smbolos: crculos para los atributos,
cuadrados para las entidades, y rombos para las relaciones.

Al transformar del modelo entidad-relacin a relacional debes seguir una serie de reglas
para no perder la conexin entre las tablas, como ya lo viste en la segunda unidad-.
Es necesario revisar este tema para ubicarte en contexto y para que recuerdes su
estructura y la manera en la que se convierte de entidad-relacin a relacional, pero si no
es as, antes de proseguir realiza una nueva lectura, ya que es la base para comprender
lo que se presentar a continuacin.

3.2.1. Modelo Relacional

Para poder aplicar consultas, las cuales tienen su origen en el lgebra y el clculo
relacional, recuerda un poco ms sobre el modelo relacional, a fin de que se pueda dar
una secuencia y se entienda el cmo aplicar consultas, sobre todo cuando involucran ms
de una tabla, ya sea que estn relacionadas o no..

Ya que el modelo relacional no utiliza diagramas para representar su informacin, es
posible apoyarse con el uso de tablas (esto es opcional, y podrs encontrarte con autores
que pueden manejar diferentes formas de representarlo).

El siguiente ejemplo muestra cmo a partir de un determinado modelo entidad - relacin
se puede transformar a relacional, quedando las siguientes tablas:
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 15

tabla alumno
Matricula Nombre Direccin Telfono
15245 Juan Prez Calle los Olmos no. 25 7777777

tabla materia
Clave
materia
Nombremateria Duracin_materia
A23 Algebra 75 hrs
A24 Espaol 80 hrs

tabla relacin materia-alumno
Matricula Clavemateria calificacin
15245 A23 80
15245 A24 100

Cada una de estas tablas proviene de ciertas entidades con sus respectivos atributos, y
considerando el tipo de relacin que tengan, se generar la base de datos.
Una vez que recordaste cmo pasar de un modelo entidad - relacin a relacional, y ya
conoces el origen del nombre del modelo relacional y cmo se representa, en el siguiente
tema estudiars especficamente lo que son la tablas y los esquemas.

3.2.2. Definicin tablas y esquemas

Es importante hablar de tablas debido a que en base a ellas se definirn las tablas y
atributos de estas que tendr la BD que desees crear; aunado e ello, es importante hablar
de esquemas debido a que muestran de forma clara las tablas relacionadas en la base de
datos. A continuacin se define y ejemplifica cada uno de ellos.

Una tabla es un grupo de informacin clasificada de acuerdo al contenido de la misma, y
por tanto hay diferentes formas de representarla, la ms simple es la que hasta ahora has
estudiado; ve como ejemplo la siguiente tabla.


Matricula Nombre Direccin Telfono
15245 Juan Prez Calle los Olmos no. 25 7777777

Dentro de las tablas tambin se encuentra la manera en que se relaciona con otras tablas,
dando origen a una nueva forma de representar una base de datos a travs de un
esquema, el cual es usado en el momento de programar la base de datos en su lenguaje,
y por ello es conveniente asignarle un nombre para posteriormente hacer referencia al
mismo. Existen convencionalismos para hacerlo y estn dados por lo que a continuacin
se presenta:

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 16
Nombres en minsculas para las relaciones.
No espacios entre nombres, se puede usar o _.
Nombres en minsculas para los esquemas de las relaciones, pero comenzar en
maysculas.

Se muestra un ejemplo de lo anterior:
Esquema-Alumno(matricula,nombre,direccin, fecha-de nac)

Se denota el hecho de que alumno es una relacin de Esquema-alumno mediante
alumno. En general, los esquemas de las relaciones incluyen una lista de los atributos y
de sus dominios correspondientes.

El esquema tambin puede representarse grficamente a travs de cuadros, donde cada
cuadro representa una tabla y se encuentra subrayado o resaltado; la clave principal de
cada tabla en dicho esquema se denota la clave que pasa como clave fornea o
secundaria a la siguiente tabla, para no perder la relacin entre las tablas, y tambin se
representa con flechas cmo se relacionan cada una de ellas. Se debe colocar el nombre
de cada tabla en la parte superior de cada una.

Silberschatz y Korth (2002, p. 58) afirman que: Un esquema de bases de datos, junto
con las dependencias de clave primaria y externa, se puede mostrar grficamente
mediante diagramas de esquema. Retomado de los mismos autores, a continuacin se
presenta una figura que muestra el diagrama de esquema aplicado a un ejemplo del
sector bancario. En el esquema observa que cada relacin aparece como un cuadro, con
los atributos listados dentro de l y el nombre de la relacin sobre l. Si hay atributos con
clave primaria, una lnea horizontal cruza el cuadro con los atributos clave primaria
listados sobre ella. Las dependencias de clave externa aparecen como flechas desde los
atributos clave externa de la relacin referenciada a la clave primaria de la relacin
referenciada.

Silberschatz y Korth (2002, p. 58) advierten que no hay que confundir un diagrama de
esquema con un diagrama E-R. En particular, los diagramas E-R no muestran
explcitamente los atributos clave externa, mientras que los diagramas de esquema s.


Esquema banco (Imagen tomada de Silberschatz y Korth, 2002, p- 58)-
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 17

Los trminos presentados anteriormente te ayudan a entender cmo se estructura de
principio a fin una base de datos. Si observaste bien, el esquema es el que de forma
grfica presenta las relaciones que existen entre las tablas de una base de datos, mismas
que son tiles para cuando se quiere consultar informacin.

3.2.3. Manipulacin de datos
Con fundamento en lo que se vio sobre tablas y esquemas en el tema anterior y que ya
conoces, puedes comenzar con los lenguajes de consulta que tanto se han mencionado, y
que tienen su origen en el lgebra y el clculo relacional.
El lenguaje de consulta estructurado SQL (StructuredQueryLanguage) es un lenguaje de
base de datos utilizado por Microsoft Jet.
Est formado por instrucciones que se componen de clusulas, comandos y operadores.
Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las
bases de datos.
Los comandos SQL se clasifican de dos formas diferentes
Los DDL ( Lenguaje de Definicin de Datos), que permiten crear y definir nuevas
bases de datos, campos e ndices.
Los DML (Lenguaje de Manipulacin de Datos), que permiten generar consultas
para ordenar, filtrar y extraer datos
de la base de datos.
En la siguiente tabla se mencionan y describen algunos de los comandos de SQL.
COMANDOS DLL COMANDOS DML
CREATE Utilizado para crear nuevas
tablas

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

DROP Empleado para eliminar tablas INSERT Utilizado para cargar lotes de
datos en la base de datos en una nica
operacin.

ALTER Utilizado para modificar las
tablas, agregando campos o cambiando la
definicin de los campos.

UPDATE Utilizado para modificar los
valores de los campos y registros
especificados

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 18
DELETE Utilizado para eliminar
registros de una tabla de una base de
datos

Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea
seleccionar o manipular, a continuacin se muestran algunas de ellas.
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
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden
especfico.
A continuacin se muestra una instruccin utilizando el comando CREATE para crear una
base de datos:
Createdatabase alumnos: esta instruccin crea la base de datos alumnos
Operadores Lgicos

AND: el resultado debe cumplir ambas expresiones antes y despus del
and para dar el resultado deseado.
OR: el resultado est en funcin de si una u otra expresin se cumple.
NOT: el resultado invierte la condicin de la expresin.
Operadores Relacionales
<menor que, a<b a es menor que b
>mayor que a>b a es mayor que b
<>distinto de a<> a a es distinto que b
<= menor que o igual a<=b a es menor o igual que b
>= mayor que o igual a>=b a es mayor o igual que b
BETWEEN: utilizado para especificar un intervalo de valores
, (
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 19

Funciones
Las funciones de agregado se usan dentro de una clusula SELECT en grupos de
registros para devolver un nico valor que se aplica a un grupo de registros.
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el nmero de registros de la seleccin
SUM Utilizada para devolver la suma de todos los valores de un campo
determinado
MAX Utilizada para devolver el valor ms alto de un campo especificado
MIN Utilizada para devolver el valor ms bajo de un campo especificado
La sintaxis bsica para crear una base de datos en SQL es:
CREATE DATABASE nombre_base de datos

Cuando ya ha sido creada la base de datos, lo siguiente es crear las tablas, para lo cual
se debe conocer primero los tipos de datos que se pueden utilizar, y estos varan
dependiendo del manejador de bases de datos que se utilice, sin embargo la mayora
reconoce estos tipos de datos.
Tipo de de dato Caractersticas
VARCHAR(tamao)
Almacena cadenas de caracteres de una longitud variable. La
longitud mxima son 4000 caracteres.
CHAR(tamao)
Almacena caracteres con una longitud fija. Siendo 2000
caracteres el mximo
NUMBER(precision,escala)
Almacena datos numricos, tanto enteros como decimales,
con o sin signo. Precisin, indica el nmero mximo de
dgitos que va a tener el dato. Escala, indica el nmero de
dgitos que puede haber a la derecha del punto decimal.
LONG
Almacena cadenas de caracteres de longitud variable. Puede
almacenar hasta 2 Gb de informacin
DATE
Almacena informacin de fechas y horas. De forma
predeterminada almacena un dato con el siguiente formato:
siglo/ao/mes/dia/hora/minutos/segundos. Este formato se
puede cambiar con otros parmetros.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 20

Una vez que sabes los tipos de datos se muestra un ejemplo de cmo se crea una tabla:

CREATE TABLE nombre_tabla (nombre_columnatipo_columna [ clusula_defecto ] [
vnculos_de_columna ][ , nombre_columnatipo_columna [ clusula_defecto ] [
vnculos_de_columna ] ... ]
[ , [ vnculo_de tabla] ... ] )

nombre_columna: es el nombre de la columna que compone la tabla..

tipo_columna: es la indicacin del tipo de dato que la columna podr contener.
clusula_defecto: indica el valor de defecto que tomar la columna si no se le asigna uno
explcitamente en el momento en que se crea la lnea. La sintaxis que hay que usar es la
que se indica en el ejemplo siguiente:

Ejemplo: antes de crear tablas debes conocer cmo crear las claves primarias y las claves
forneas que vienen de otra relacin.
la definicin de la llave primaria:

PRIMARY KEY ( columna1 [ , columna2 ... ] )
las definiciones de las llaves externas:

FOREIGN KEY ( columna1 [ , columna2 ... ] ) definiciones_de_referencia

Cuando ya se tienen las tablas creadas, lo siguiente es el manejo o manipulacin de los
datos, tales como agregar, eliminar y modificar datos:
Para aclarar mejor el uso de la instruccin CREATE TABLE, veamos algunas rdenes que
implementan la base de datos ejemplificada.

CREATE TABLE Ventas (
ID INTEGER PRIMARY KEY,
nombreclienteCHAR(18) NOT NULL
);

Esta instruccin crea la tabla Ventas y solo contiene el atributo ID de tipo Integer y
nombrecliente de tipo char con 18 caracteres, id es la clave primaria, y se est poniendo
como requisito que el nombre de cliente s tenga datos, al no permitir nulos.
CREATE TABLE libro (ID INTEGER PRIMARY KEY,
titulo VARCHAR(160) NOT NULL,
publicacin INTEGER NOT NULL,
volumen VARCHAR(16),
series VARCHAR(160),
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 21
edicion VARCHAR(16),
notas VARCHAR(255)
);
Para borrar TABLAS se utiliza la siguiente instruccin:
El comando de SQL es DROP TABLE nombre_tabla.
Si la tabla tiene datos, estos van a ser borrados permanentemente. Una vez que la tabla
se borra no se puede recuperar.

Para agregar datos a las tablas se utiliza la siguiente instruccin:

INSERT INTO nombre_tabla[ (lista_campos ) ]
VALUES ( lista_valores )

nombre_tabla es el nombre de la tabla en la que se tiene que incluir la nueva lnea.

lista_campos es la lista de los nombres de los campos a los que hay que asignar un valor,
separados entre s por una coma. Los campos no incluidos en la lista tomarn su valor por
defecto o NULL si no lo tienen por defecto. Es un error no incluir en la lista un campo que
no tenga un valor por defecto y que no pueda tomar el valor NULL. En el caso en que no
se especifique la lista, habr que especificar los valores de todos los campos de la tabla.
Como ya viste, la a sintaxis bsica de una consulta de seleccin es la siguiente:
SELECT Campos FROM Tabla;
En donde Campos es la lista de campos que se deseen recuperar y Tabla es el origen de
los mismos, por ejemplo:
SELECT Nombre, Telfono FROM Clientes;

Usando estas consultas, y combinando con los operadores lgicos, relacionales y las
funciones, podrs lograr consultas ms avanzadas. Una consulta es usada con vistas y
estas son aplicadas en el siguiente tema.

3.2.4. Definicin de vistas

Las vistas fueron creadas para encapsular las consultas y que los usuarios no tengan el
acceso a las mismas por cuestiones de seguridad, para que algunos de los datos queden
ocultos
Por ejemplo: Un alumno que desea saber el nmero de calificacin de cierta materia
debera ver una relacin descrita, en el lgebra relacional, mediante:
nombre-alumno, numero-calif_materia (alumno x calif_materia)

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 22
Adems de las consideraciones sobre la seguridad, puede que se desee crear un
conjunto personalizado de relaciones que se adapte mejor que el modelo lgico a la
intuicin de un usuario concreto.

Definicin de Vistas. Las vistas se definen con la instruccin createview. Tomemos en
cuenta que para definir o crear una vista debemos asignarle un nombre e indicar la
consulta que la va a calcular. La forma de la instruccin view es:

Createview view_name as <expresin de consulta>
Donde:
Createview es la expresin que crea la vista
View_name representa el nombre de la vista que se crear.
<expresin de consulta> Se refiere a la consulta que guardar y ejecutar la vista.

Consideremos un ejemplo, creemos una vista en una base de datos de una determinada
biblioteca. La vista se llamar autores_mexicanos y queremos que anide una consulta que
muestre algunos atributos de la tabla autores donde su pas sea Mxico, veamos como se
expresara:


Crate view autores_mexicanos as
(Select id_autor, nombre_autor
From autores
Where pas = Mexico)


Cuando definimos la vista, sta puede ser utilizada en cualquier momento, mientras se
haga referencia a ella, pero debemos de tener cuidado cuando se modifiquen las
relaciones de las tablas a las que hace referencia la vista, debido a que puede generar
errores en la consulta interna de la vista.
Por tal motivo, el sistema gestor de vistas guarda slo la vista creada y no el resultado
que arroja cuando se manda llamar.





Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 23



Tomando en cuenta las tablas siguiente, mediante SQL se tiene la creacin de vistas de
la siguiente manera.


Una Tabla, con Mltiples vistas

Se puede tener muchas vistas de la misma tabla. Tabla empleados
No.
Empleado
Nombre Puesto Fecha-nac Salario Extras No.depto
2334 Juan Supervisor 17-dic-80 6000 0 45
5677 Alejandra Secretaria 20-Feb-81 4000 2000 46
3456 Arturo Supervisor 23-Ago-75 7000 0 56

Vista de supervisores Vista de secretarias
Nombre puesto
Juan Supervisor
Arturo Supervisor


Cmo crear, Nombrar y Consultar Vistas

SQL> CREATE VIEW secretaria AS
SELECT nombre, puesto, salario
FROM Empleados
WHERE Puesto= secretaria;

Se puede utilizar cualquier SELECT que contenga un ORDER BY cuando crea una vista.

Para consultar una vista, se hace un SELECT como si la vista fuera una tabla.

SQL> SELECT * FROM Secretaria;

Creando VISTAS con ALIAS de nombres de columnas

A menos que se especifique lo contrario, la vista hereda los nombres de las columnas
de la tabla de la que se deriva.

Nombre puesto salario
Alejandra Secretaria 4000
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 24
Para dar a la vista nombres de columnas diferentes a los de la tabla base, se utiliza la
siguiente sintaxis:

CREATE VIEW nombre_vista (alias, alias,...) AS query

SQL> CREATE VIEW MYDEPT
(PERSON,TITLE,SALARY)
AS SELECT nombre, puesto, salario
FROM Empleado
WHERE No.depto=10;


Razones para copiar tablas y vistas:
Respaldar tablas y vistas originales.
Dar una copia a alguien ms.
Hacer cambios tentativos.
Archivarlas antes de borrarlas.


Borrado de Vistas.
Cuando no se necesitan o simplemente se quiere eliminar una vista previamente
ejecutada, se requiere de ciertos comandos, como los que a continuacin se muestra.

Para borrar vistas.
El comando de SQL es DROP VIEW nombre_vista.
Las tablas en las que se basa la vista no se alteran.

Las vistas pueden llegar a simplificar el uso de consultas y hacen que la informacin de
cmo elaborar la consulta no est al 100% disponible para el usuario al permitir renombrar
la consulta con un nombre especfico.

A continuacin seguirs con una actividad, para posteriormente profundizar en consultas.

Actividad 2 Relacional- Grficos

La implementacin de una base de datos se hace a travs de lenguaje, el cual tiene una
serie de comandos para llevarse a cabo. Como ya te diste cuenta, para realizar esta
actividad debers tener instalado algn manejador de bases de datos, si no es as puedes
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 25
consultar la seccin Para saber ms, en la que se te proporciona un link de cmo instalar
SQL server 2000 y 2008.

El propsito de esta actividad est enfocado a aplicar los conocimientos con respecto a
consultas, donde se aplican comando clusulas y operadores. Adems de que logres
crear una base de datos, sus tablas y una consulta a travs de una vista de manera
sencilla.

1. Toma en cuenta la siguiente imagen y realiza lo que se te pide:
.
Imagen tomada de Silberschatz y Korth, 2002, p- 58


2. Crea con instrucciones de SQL la base de datos.
3. Crea con instrucciones SQL las tablas.
4. Crea una vista que convenga realizar, puede ser sobre una tabla, la que t desees.
5. Guarda y enva la actividad con el nombre DBD_U3_A2_XXYZ.


3.3 Implementacin relacional con consulta grficos

El lenguaje de consulta (QBE), por su importancia es uno de los primeros lenguajes de
consulta grficos con sintaxis mnima para los sistemas de bases de datos, este lenguaje
es considerado como la versin grfica para la implementacin relacional de bases de
datos.
De acuerdo con Ramez y Shamkant (2007 p. 903), las consultas QBE de recuperacin,
se especifican rellenando una o ms filas de las plantillas de las tablas. En una consulta
de una sola relacin, introducimos constantes o elementos de ejemplo (un trmino QBE)
en las columnas de la plantilla de esa relacin. Un elemento de ejemplo simboliza una
variable de dominio y se especifica como un valor de ejemplo precedido por el carcter de
subrayado U. Adems, se introduce un prefijo P. (denominado operador de punto P) en
determinadas columnas para indicar que nos gustara imprimir (o visualizar) los valores de
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 26
esas columnas para nuestro resultado. Las constantes especifican valores que deben ser
exactamente iguales a los presentes en esas columnas.

3.3.1. Definicin de lenguaje de consulta de grficos
Actualmente existen herramientas de gran utilidad para la gestin de modelos relacional,
lo cual ayuda que la implementacin sea simple y sencilla de poderse realizar.
Querybyexample, por sus siglas en ingles QBE, es la versin grfica del lenguaje de datos
relacional, como esStructurequery lenguaje SQL.
El funcionamiento bsico de QBE, permite analizar y convertir las acciones de los
usuarios en las declaraciones expresadas en un lenguaje de manipulacin de bases de
datos.
Actualmente QBE es un lenguaje compatible con varias bases de datos relacionales tales
como:
Visual querybyexample
MSQL
Microsoft Access
Estos lenguajes estn soportados para la facilidad de manipulacin de consultas, de tal
forma la interfaz de usuario del QBE y SQL interactan para obtener el modelo relacional
grfico. Estos programas hacen por s solos el esquema de la base de datos y con clic se
pueden seleccionar claves primarias y arrastrar para que se conviertan en claves
forneas. Y mediante la seleccin de lo que se desea saber a travs de ayuda y
asistentes o simplemente de manera grfica, se obtiene la consulta.
QBE tambin est soportado por otras compaas. Borland, ofrece PARADOX como una
versin de funcionalidad completa del QBE, el cual incluye la definicin de tablas. A pesar
de que la sintaxis es ligeramente diferente de la de IBM, el lenguaje tiene mucha similitud.
Lotus 123 tambin ofrece un lenguaje simple de consultas de base de datos, que usa un
enfoque parecido al de QBE, debido a que el QBE permite que los usuarios no tcnicos
formulen fcilmente sus consultas.

3.3.2. Manipulacin de datos
La mayora de los lenguajes estructurados de consultas, son textuales, por lo que al
formular una solucin esta debe ser creada por una cadena de caracteres. A diferencia de
ellos, QBE es un lenguaje grfico, el cual estructura las soluciones de consultas a travs
de representaciones grficas de las tablas de la base de datos en cuestin. La similitud de
QBE con SQL es que se basan en el desarrollo de expresiones condicionadas, funciones
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 27
integradas, agrupacin, entre otras, por tal motivo los resultados de los valores de datos
sern los mismos en ambos lenguajes.
Debido a que la mayora de los sistemas con QBE utilizan las bases de datos que han
sido desarrolladas utilizando las instrucciones de SQL, se tienen diferentes acciones para
el manejo de las bases de datos tales como:
Consultas simples. Esta es una de las instrucciones bsicas para el inicio de la
manipulacin de los datos, las cuales solo afectan no ms de una tabla dentro de la base
de datos. Para el desarrollo de esta consulta, el usuario solicita el grfico de la relacin
existente. Debido a que la mayor parte de las rdenes definen instrucciones SQL, no se
analizan las definiciones de datos en QBE.
QBE, como un lenguaje grfico, su principal objetivo es ofrecer medios para que el
usuario interacte de forma grfica con la base de datos, esto se muestra diseando una
estructura de las tablas.
Las consultas simples, son aquellas que afectan a solo una tabla dentro de la base de
datos, las consultas simples son utilizadas para ilustrar la estructura bsica de SQL.
El siguiente ejemplo muestra una consulta simple utilizando la sentencia select de SQL.
Consulta: Quines son clientes de convenio?
SELECT nomcliente, tipocliente
FROM Clientes
WHERE tipocliente = Convenio

Resultado:
La siguiente imagen muestra el resultado de la consulta simple realizada


Resultados de consulta simple.
En la consulta ilustrada se puede observar que se utilizaron tres clusulas bsicas usadas
en SQL:
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 28
Select: Lista las columnas que se desean observar en el resultado de la consulta,
esto tiene que ser siempre columnas de una tabla relacional.
From: Listas una o ms tablas que son referenciadas en la consulta.
Where: Es utilizado como condicionante, es la condicin para seleccionar las filas
de la tabla que se dan en la clusula from.
Otra variante de la consulta anterior, donde se toman todas las columnas de la tabla,
donde el smbolo * en la clusula select significa que muestre la fila completa. Se tiene
lo siguiente.
Consulta: Quines son los clientes de convenio?
Select *
From Cliente
Where tipocliente = convenio
Resultado:
La siguiente imagen se muestra el resultado de la consulta simple mostrando todos los
campos de la tabla.

Resultados de consulta simple mostrando todos los campos de la tabla. Fuente: imagen
propia
Se muestra a continuacin otro ejemplo:
Consulta: Qu productos tienen precio entre $150 y $200?
SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta,
precpublico
FROM Ofertas
WHERE (precpublico>= 150) AND (precpublico<= 200)
ORDER BY nomproducto DESC

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 29


Resultado de consulta simple con variacin de operadores en la clusula where

Resultado: La imagen anterior muestra el resultado de la consulta, ntese que agrega
unas caractersticas adicionales a la clusula where, tales como los operadores de
comparacin y el conector booleano And.

Aqu cabe destacar que existen seis operadores de comparacin: = (igual), <> (no igual),
< (menor que), > (mayor que), <= (menor e igual que), >= (mayor e igual que), estos
pueden ser utilizados para comparar las columnas con otras columnas; los conectores
booleanos AND, OR, NOT, pueden ser utilizados para la creacin de condiciones
compuestas o para negar una condicin.

Los parntesis tambin pueden usarse en la forma acostumbrada de los lenguajes de
programacin, donde son utilizados para agrupar condiciones.

Tambin es comn utilizar el operador Between (entre) el cual indica que muestre slo los
datos comprendidos entre los valores indicados, y el operador Orderby, el cual indica que
los registros sern ordenados por nombre del producto y el operador DESC, indica que
ser ordenado de forma descendente o ASC, ascendente segn el caso. Esto se observa
en el siguiente ejemplo:

SELECT *
FROM Ofertas
WHERE precpublicobetween 150 and 200
ORDER BY nomproducto DESC

Resultado:
La siguiente imagen muestra el resultado de la consulta, utilizando el operador between
utilizado para comparar los valores entre si, el primero menor que el segundo.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 30

Resultado de consulta simple con variacin de la clusula where, utilizando el operador
between.

Ahora observa lo siguiente:

Consulta: Indicar los productos con el cdigo de presentacin 01 y 02

SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta,
precpublico, codpresentacion
FROM Ofertas
WHERE (codpresentacion IN ('01', '02'))
ORDER BY nomproducto DESC


Resultado de consulta simple con variacin de la clusula where utilizando el operador IN.

En la imagen anterior se muestra la consulta utilizando el operador de comparacin IN. La
clusula where ha evaluado si el tipo de presentacin de la fila se encuentra.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 31


Las consultas de mltiples tablas, son aquellas que implican la conexin de los datos a
travs de varias tablas. Para este tipo de consulta es comn utilizar el operador innerjoin,
a continuacin se muestran algunos ejemplos utilizando este operador.

Consulta: Cules son los laboratorios de los productos asignados al laboratorio WYETH,
S.A. DE C.V.?


Panel de criterios de la consulta realizada en SQL.

SELECT Productos.*, Laboratorios.*
FROM Productos INNER JOIN
Laboratorios ON Productos.IdLaboratorio = Laboratorios.IdLaboratorio
WHERE (Laboratorios.NomLaboratorio = 'WYETH, S.A. DE C.V.')

Existen varias sentencias en SQL, pero dentro de las bsicas y simples tambien se tiene
la sentencia Group by. Esta clave de SQL es utilizada cuando se desea seleccionar
multiples columnas desde una o varias tablas. En esta sentencia se pueden utilizar
operadores aritmeticos en la instruccin select. La sintaxis en SQL es tal como se muestra
en el siguiente ejemplo:
SELECT "nombre1_columna", SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1-columna"
Operaciones que modifican la base de datos. Tanto QBE como SQL soportan tres
tipos de operaciones que cambian la base de datos:
Insert. Es utilizado para insertar registros o filas en la tabla de una base de datos.
Un ejemplo comn utilizando esta instruccin es el siguiente:

insertintoClientes (cliente_id,nombre,paterno,materno,sucursal_id, ciudad)
values ('0000099999','MARINA','HERNANDEZ','HERNANDEZ','00004',Leon),
('0000099998','CARLOS','VILLAVICENCIO','VAZQUEZ','00002',Len)
('0000099997','MIGUEL','SALAZAR','GARCIA','00001',Morelia)
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 32

Update. Esta instruccin es utilizada para actualizar los registros almacenados en
la tabla de la base de datos, para esta instruccin se puede utilizar el siguiente
ejemplo:
Update clientes
Set sucursal_id = 00001
Where ciudad = Leon
En este ejemplo existen dos filas que satisfacen la condicin de la clusula Where
donde actualizara el valor de la sucursal a 00001.

Delete. Esta instruccin es comnmente utilizada para eliminar los registro de una
tabla dentro de la base de datos.Para esta instruccin es sencilla aplicar el criterio
de eliminacin de registros, se tiene como ejemplo la siguiente sentencia en SQL:
Delete from clientes
Where sucursal_id = 00001

En este ejemplo se puede observar que se utiliza la instruccin delete haciendo
referencia a la tabla de clientes, y se establece una condicin, por lo que los registros a
eliminar debern de satisfacer esa condicin

Como has podido observar, crear una consulta para obtener exclusivamente lo que se
quiere de una tabla es muy sencillo, y te puede liberar de horas de trabajo manual.
3.3.3. Definicin y entrada de datos

Una vez que se ha conocido la forma de crear bases de datos, insertar datos el ella y
realizar consultas de dichos datos en formas diferentes, es importante que se conozcas
como se definen e ingresan stas instrucciones en un determinado manejador de base de
datos, en ste caso ser SQL.
En SQL se utilizan trminos tales como: tabla, fila y columna para los trminos relacin,
tupla y atributo del modelo relacional formal. Existe una gran variedad de comandos en
SQL, tal como CREATE, que es utilizado para crear esquemas, tablas y dominios.
Un esquema de SQL se identifica con un nombre, el cual incluye un identificador de
autorizacin para usuarios. Los elementos del esquema son las tablas, las restricciones,
las vistas, los dominios y algunas otras estructuras.
Algunos de los comandos utilizados en SQL son:
Create: se usa para crear el objeto, puede ser una base de datos, una tabla, un
esquema, vistas, etc. A continuacin se muestra un ejemplo de creacin de una
base de datos.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 33

CREATE TABLE [dbo].[Bitacora](
[IdBita] [int] IDENTITY(1,1) NOT NULL,
[idbitacora] [int] NULL,
[fechahora] [datetime] NOT NULL,
[tipo] [char](3) NOT NULL,
[mensaje] [char](250) NOT NULL,
[status] [bit] NOT NULL,

InserInto: se utiliza para que una vez creada la base de datosy, las tablas y los
campos de cada tabla, se inserten datos a cada campo de la tabla referenciada.

INSERTINTO Clientes (id_cliente, nombre_cliente, tel_cliente) values (08976,
MariaMartinez, 78647907)

Select: utilizado para seleccionar un objeto dentro de la base de datos, tal como
tablas. Como un ejemplo comnmente utilizado en select se tiene:

SELECT idcliente, fechaalta, tipocliente, rfcalfa, rfcfecha, rfchomoclave,
nomcliente, domicilio1, domicilio2, telefono, contacto, activo, comentario, imagen
FROM Clientes
SQL tiene varias caractersticas adicionales para el desarrollo e implementacin de
bases de datos, las cuales son:
Tcnicas de distintos lenguajes de programacin que pueden incluir sentencias de
SQL, las cuales son de utilidad para poder accesar a una o ms bases de datos.
El SQL incrustado o dinmico, y la conectividad de bases de datos abierta ODBC
(open data base connectivity).

Todos los sistemas administradores de bases de datos relacional (RDMBS
relationaldatabasemanagementsystem), contienen los comandos de SQL, con un
conjunto de comandos para especificar los parmetros de diseo fsico de la base
de datos.
Controlador de transacciones: utilizado para especificar las unidades de
procesamiento de bases de datos.

Cuenta con estructuras de lenguaje comnmente utilizadas para especificar la
concesin y revocacin de privilegios a los usuarios.


Tcnicas de base de datos activa, las actuales especifican acciones que son
automticamente ejecutadas por los eventos.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 34
Incorpora caractersticas de los modelos orientados a objetos, utilizados para
mejorar los sistemas relacionales conocidos como de objetos relacionales.
En SQL se utilizan todas las instrucciones vistas en ste tema, las cuales se pueden
considerar las bsicas para la creacin insercin y manipulacin de datos. Es importante
que recuerdes y pongas en prctica las instrucciones vistas para cuando utilices SQL para
la realizacin de tus bases de datos especficas.
3.4 Sistemas de bases de datos Cliente/Servidor

A continuacin conocers las diferencias que hay entre un cliente y un servidor, debido a
que es de suma importancia identificar y diferenciar cada uno de ellos, adems de saber
en qu se enfocan respectivamente.
Un cliente es algo o alguien que solicita informacin o trabajo, y un servidor es quien la
proporciona. En el mbito de las redes, cliente/servidor es una mquina o proceso que
solicita informacin y una mquina o proceso la proporciona. Esto se vera ms a detalle
en el siguiente tema.
Un sistema de bases de datos basado en aplicaciones cliente/servidor permite extender
las aplicaciones principales a una plataforma de equipos llamados servidores, cuya
funcin es enlazar las computadoras cliente o de sobremesa al servidor, donde el sistema
de gestin de bases de datos funciona a travs de la red mediante llamadas al sistema.
Una de las principales ventaja que ofrece este tipo de esquema de sistemas
cliente/servidor es el compartir recursos y accesos al sistema de base de datos mediante
una interfaz grfica de usuario, para darle ms poder y facilidad de uso de la presentacin
de los datos, consultas, etc.
Las bases de datos pueden ser ubicadas en servidores y la informacin puede ser
consultada de manera remota o local.

Los dos trminos vistos en este apartado son el punto de partida para conocer el
concepto y enfoque de Cliente/Servidor que se ver a continuacin.
3.4.1. Conceptos de Cliente/Servidor

En este tema estudiars la plataforma que sirve como mediador entre la base de datos y
los datos de una base de datos conectada por medio de una red de computadoras.
El concepto cliente/servidor, se conoce como aquella plataforma donde el medio de
comunicacin es por la red de computadoras, donde se ofrecen los servicios por medio de
un equipo dedicado (servidor). Los equipos o terminales de cmputo conectados a la red
reciben el nombre de cliente.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 35
La principal ventaja de la plataforma cliente/servidor, es la optimizacin de los servicios
para establecer fluidez en las transacciones de entrada y salida de datos, por medio de
interfaces grficas de usuarios que otorgan medios orientados al usuario para facilitar el
acceso a la base de datos.
Un Sistema Gestor de Bases de Datos (SGBD), tambin brinda interfaces de usuario que
permiten visualizar y responder a las entradas de los usuarios.
La arquitectura cliente/servidor se compone de tres niveles o capas:
Capa de presentacin (Cliente). Esta capa otorga al usuario la interfaz para poder
interactuar con el sistema de gestin de base de datos, las cuales se utilizan
como conexiones con la aplicacin desarrollada. Comnmente se utilizan
navegadores web o aplicaciones desarrolladas en distintos lenguajes de
programacin, tales como HTML, JAVA, C++, Visual Studio, etc. En esta capa se
gestionan las entradas, salidas y navegacin, aceptando comandos de usuario.
Capa de aplicacin (lgica de aplicacin). Esta capa se utiliza para la
programacin lgica de las aplicaciones que tendrn acceso al sistema de gestin
de bases de datos, El acceso a la informacin o consultas a la base de datos se
realiza mediante la interface de la aplicacin desarrollada.
Servidor de bases de datos. En esta capa se controlan todas las consultas y
peticiones de actualizaciones procedentes de la capa de aplicacin y es la
encargada de procesar las solicitudes para el envo de los resultados.
La siguiente imagen muestra un esquema general de las diferentes capas que componen
una arquitectura cliente/servidor:

Arquitectura Cliente/Servidor de tres capas- (Tomada de Ramez y Shamkant, 2007, p.
771)
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 36
La arquitectura cliente servidos es de suma importancia conocerla y entenderla para
cuando pongas en prctica la realizacin de base de datos y manipulacin de datos de
sta base, sea ms fcil entender la en cul lugar de sta plataforma se debe de procesar
las instrucciones que indica el usuario.
3.4.2 Base de datos servidor

Comnmente para la operatividad de un Database management System (DBMS), o en
espaol Sistema Manejador de Bases de Datos, se incluyen la centralizacin a nivel de
servidor de base de datos. El servidor de aplicaciones es el que debe formular las
consultas SQL y realizar la conexin con el servidor de bases de datos con lo que
requiera.
SQL es un lenguaje estructurado de consultas relacional, el cual tambin hace referencia
a un diccionario de datos que incluye informacin acerca de la distribucin de los mismos
entre los distintos servidores SQL. La siguiente imagen muestra un servidor de base de
datos en SQL

Servidor de base de datos en SQL Server 2008 R2. Fuente, Microsoft SQL Server
Management Studio.
Acabas de conocer a que nos referimos como servidor de base de datos o manejador de
sistemas de base de datos, el cul es una aplicacin que puede variar segn la que
selecciones, pero en esencia, funcionan de forma similar, realizando o indicado por los
usuarios, solo debes de familiarizarte con la plataforma elegida.

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 37
3.4.3. Manipulacin y programacin del servidor de datos

Dentro de la manipulacin del servidor de base de datos, se proporcionan estructuras de
control que permiten ser ejecutadas sin interrupciones dentro de un conjunto de lotes de
instrucciones. Esas estructuras de control son parte de los lenguajes de flujo de control e
incluyen instrucciones condicionales e instrucciones para hacer bucles.
Adems de estas caractersticas, tambin brindan procedimientos almacenados que son
programas escritos, los cuales son compilados en algn lenguaje de programacin y se
guardan para ser ejecutados con eficiencia.
Existen diferentes recursos lingsticos que son utilizados en la sintaxis de SQL:
Lenguaje de flujo de control. Es un lenguaje de consulta orientado a usuarios de
conocimiento avanzado, para obtener informacin inmediata por la va de
consultas a bases de datos.
Procedimientos almacenados. Los procedimientos almacenados son programas
SQL, compilados en su primera ejecucin almacenada y lista para su uso
posterior. Tienen la ventaja de ejecutarse de forma rpida y permiten recibir y
retornar parmetros variables usados para pasar datos almacenados.
Disparadores. Dentro de SQL a un disparador se le nombra tigger, el cual es un
programa que se ejecuta automticamente cuando se intenta hacer una
actualizacin determinada sobre una tabla especfica. Un tigger puede definir tres
tipos de disparadores: insercin, actualizacin y eliminacin.
Como te diste cuenta hay diferentes formas de accesar a la informacin, y no solo por
parte de la persona, sino tambin por procesos propios del sistema manejador de bases
de datos
3.5 Organizacin fsica de los sistemas de bases de datos.

La organizacin fsica de una base de datos depender de su tamao y requerimientos de
espacio a utilizar, ya que el almacenamiento se da en recursos secundarios de gran
capacidad de almacenamiento. Uno de los principales medios de almacenamiento
secundario son los discos duros.

Los dispositivos de almacenamiento registran o almacenan la informacin de forma
directa y permiten el acceso a sus registros en cualquier tipo de orden, ya sea lectura o
escritura.

Los discos son dispositivos utilizados para el almacenamiento de la informacin, los
cuales se presentan en unidades separadas. La estructura de la pila de discos multiplica
la capacidad de almacenamiento, lo cual ayuda a mantener el rendimiento, ya que cada
cara de un disco posee una cabeza de lectura y escritura propia.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 38


Organizacin fsica de una base de datos.

La imagen muestra la estructura interna de un disco duro donde fsicamente se encuentra
toda la informacin de la mquina que puede ser la misma base de datos.



3.5.1. Organizacin fsica de los sistemas de bases de datos.

Continuando con el tema previo; el especialista de desarrollo de sistemas es quien se
interesa en la organizacin fsica para un sistema de base de datos. Sin embargo, el
rendimiento general de un sistema de base de datos se determina en gran medida por las
estructuras de datos fsicas utilizadas.
A pesar de que los usuarios finales no conocen los detalles del diseo fsico de la base de
datos, estos afectan el rendimiento de la misma, esto es de suma importancia, pues
resulta ser el principal factor de satisfaccin para el usuario de un sistema de base de
datos.
Tanto el formato como la informacin no son afectados directamente por la organizacin
fsica de la base de datos, sin embargo, el tiempo de respuesta s se ve afectado (tiempo
de respuesta es el tiempo que transcurre entre la inicializacin de una operacin sobre la
base de datos y la disponibilidad de los resultados).
Concluyendo con lo anterior, el poco conocimiento en el manejo de ciertas aplicaciones
procesadoras de informacin, afectan en muchas de las ocasiones, el rendimientos de
programa para procesar datos, sto debido a que por el mal manejo se crean conflictos
que aumentan el tiempo de repuesta que puede reflejarse incluso en la prdida de la
informacin solicitada.
3.5.2. Acceso fsico a la base de datos.

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 39
Durante el proceso de acceso fsico a la base de datos el usuario interacta con el
sistema de base de datos al momento de iniciar una consulta. El modo selector de
estrategia es el que se encarga de interpretar la orden del usuario en una forma ms
eficiente para la ejecucin.

La orden que es traducida activa al administrador de buffer, que controla el movimiento de
datos entre la memoria principal y el almacenamiento en disco. El administrador de
archivos brinda el soporte al administrador de buffer, controlando la reserva. Los datos de
los usuarios son almacenados en una base de datos fsica de registros de eventos. La
siguiente imagen muestra un ejemplo de formas para el sistema de acceso fsico a la
base de datos.



Formas de almacenamiento fsico a la base de datos. Imagen tomada de Hansen y
Hansen (1997, p. 324).

Con esta informacin te podrs dar cuenta cul es el recorrido de la informacin hasta
llegar al almacenamiento fsico de los datos, siendo el mismo recorrido que hace cuando
se realiza una consulta a la base de datos.
3.5.3. Formas de almacenamiento secundario.

Existen ciertas tcnicas o formas de almacenar la informacin de una base de datos, las
cuales son ajenas a simplemente el disco duro de una computadora. Es necesario
conocerlas para realizar los diferentes respaldos y tener adecuadas formas de poder
restaurar la informacin en caso de prdida de datos en una BD.

El almacenamiento secundario, dentro de un sistema de base de datos se compone
comnmente por:
Almacenamiento en disco. Almacenamiento de forma principal.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 40
Almacenamientos en cinta. Almacenamiento en forma secuencial y limitada.

Por lo general la base de datos se almacena en disco de forma completa, y algunas
porciones son transferidas desde el disco a la memoria primaria, a medida que se van
utilizando. El almacenamiento en disco es de forma principal con acceso directo, por tanto
los registros individuales pueden ser accesibles de forma directa.

El almacenamiento en cinta magntica es menos costoso que el almacenamiento en
disco, sin embargo se puede tener acceso a los registros de forma secuencial y ms
lenta, adems de que su funcin en el sistema de base de datos est limitada para
archivar datos

Una unidad fsica donde se encuentra integrado el medio de grabacin del disco se llama
controlador de disco, el cual contiene un paquete de disco. En la siguiente imagen se
pueden observar los componentes bsicos de un paquete de disco y el mecanismo de
lectura y escritura que es la transmisin de los datos.




Almacenamiento secundario. Imagen tomada de Hansen y Hansen, op cit, p. 326.


Los datos pueden ser respaldados y colocados en diferentes medios para simplemente
recuperar ese respaldo y poderlo accesar, esto puede servir ante situaciones como los
casos en los que se pierde informacin que se encuentra en la unidad principal, pero
tendra como desventaja el proceso que implica la restauracin de la base de datos para
ser consultada; por lo tanto este almacenamiento secundario es recomendado solo para
pocos y espordicos accesos.
3.5.4. Factores de rendimiento del disco.

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 41
Es de suma importancia que conozcas los factores que determinan el buen o mal
funcionamiento en cuanto al tiempo se refiere, para dar respuestas a instrucciones
requeridas por los usuarios de los sistemas manejadores de bases de datos. A
continuacin se mencionarn y definirn cada una de ellos.

Existen cuatro factores que pueden afectar el rendimiento o la velocidad del disco en
relacin a los datos que son transferidos al medio de almacenamiento, los cuales son:

Tiempo de posicionamiento. Este factor tambin es conocido como tiempo de
bsqueda, es considerado como el tiempo necesario para mover los cabezales de
lectura/escritura iniciando en una posicin determinada y posteriormente a una
nueva direccin.
Tiempo de activacin de la cabeza. Este es el tiempo utilizado par activar de forma
electrnica el cabezal que est ubicado sobre la superficie cuando se realiza una
transferencia de datos.
Retraso de rotacin. La latencia es otro de los factores de tiempo en un medio de
almacenamiento, este representa la cantidad de tiempo que es necesario para el
bloqueo seleccionado para rotar la cabeza, de tal forma que la transferencia de
datos pueda comenzar.
Velocidad de transferencia de datos. Es la cantidad del tiempo necesario para
transferir los datos desde el disco hasta la memoria principal, esto depender de la
velocidad de rotacin y de la cantidad de datos que son almacenados.


Es importante conocer cada uno de los factores mencionados en ste tema, ya que el
pleno conocimientos de ellos nos ayudar a contar con informacin rpida y adecuada al
momento de ser solicitada o guardada, debido a que si algo llega a suceder, se tomar en
cuenta que algunos de stos factores esta actuando o interfiriendo en la toma de
decisiones para obtener o guardar informacin.

3.5.5. Formatos de almacenamiento de datos en disco.

Existen diferentes medios fsicos para la manipulacin de datos sobre los discos, entre los
cuales se tienen los siguientes:

Formatos de pista. Los registros se almacenan en formatos de cuenta clave, este
incluye una clave que es externa al registro de datos; tambin existe el formato de
cuenta dato, este incluye una clave interna al registro de datos.
Formatos de registros. Los formatos de registros son almacenados sobre las
pistas en cualquiera de los formatos fijo y variable. Los registros de longitud fija
son de la misma longitud y los registros de longitud variable, permiten que la
longitud de cada registro sea variado.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 42
Gestin de entrada/salida. Basados en los formatos de datos de las operaciones
de entrada y salida de un SGDB-

Como te pudiste dar cuenta, el formato en cuestin depender del punto en el que se
encuentre la base de datos o justo lo que se encuentre realizando el gestor con los datos.
3.5.6. Organizacin de archivos y mtodos de direccionamiento.

Hasta hoy se conocer algunos mtodos para la organizacin de archivos sobre los
dispositivos de almacenamiento, los cuales se mencionan a continuacin:

Organizacin secuencial. La organizacin secuencial de un archivo se basa en
que los registros son almacenados de forma adyacente unos con otros, con
respecto a la clave de almacenamiento.
Organizacin secuencial indexada de un archivo. Este tipo de organizacin
consiste en que los archivos se encuentran organizados de forma secuencial,
mas es posible acceder directamente a los registros, tiene la ventaja de poder
facilitar el acceso a los registros de ambas formas, ya sea secuencial o
directamente.
Organizacin directa de un archivo. Los registros son almacenados de forma
directa de manera simple, conocida como funcin hash la cual pueden ser
esttica y dinmica.

Los mtodos a aplicar dependern del sistema gestor de bases de datos, pero es
importante que conozcas cules existen.

3.5.7. Correspondencia entre estructuras de datos lgicas y
estructuras de datos fsicas.

La aplicacin de un sistema de base de datos se basa en las estructuras de datos lgicas
y fsicas, a continuacin se muestran algunas de estas correspondencias entre ambas
estructuras.
La correspondencia en la base de datos relacional. Se almacena cada relacin
como un archivo con un registro para cada fila, generalmente esto es correcto para
bases de datos de tamao muy pequeo; tras el aumento de tamao de la base de
datos es conveniente que sea almacenado en varias relaciones en un solo archivo.

Correspondencia en la base de datos en red. Dentro de una interrelacin compleja
de red muchos a muchos es conveniente modificar como una red simple mediante
registros de interseccin.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 43
Correspondencia en la base de datos jerrquicos. Al igual que la correspondencia
en red, en esta correspondencia tambin se pueden utilizar mltiples punteros en
los registros padres en las relaciones de una jerarqua o rbol.

Acabas de conocer como se deben de estructurar las bases de datos segn vayan
cambiando o se vayan modificando, esto se debe debido a que la correspondencia de
datos no es igual, ya que en un principio una base de datos puede ser pequea y
ordenada, pero conforme va pasando el tiempo, puede aumentar, causando desorden el
los datos internos.
Actividad 3. Cliente-Servidor-datos

Los grandes volmenes de informacin requieren cada vez respuestas de consulta ms
eficaces, y ante ello los lenguajes como el SQL son una de las herramientas que
proporcionan esas respuestas, solo que es necesario saber hacer la pregunta correcta
para obtener la respuesta que se desea. Lo mismo sucede con las consultas: esta
informacin debe estar asociada a un buen sistema de almacenamiento, como lo pudiste
ver a lo largo de estos temas.
Propsito:
La presente actividad tiene como propsito que reflexiones sobre los temas estudiados y
que con ellos logres implementar un sistema de base de datos cliente servidor, adems
de la organizacin fsica de estos datos.

Antes de comenzar, debers plantearte las siguientes preguntas:
En dnde puedo realizar una consulta con grficos?
Qu sistemas gestores de datos la utilizan?
Como puedo elaborar una consulta que muestre toda la informacin de una tabla
llamada consultas?
Para qu sirve el smbolo * al momento de hacer una consulta?
Para qu sirve el innerjoin y el groupby en una consulta?
Cmo funciona una base de datos en un sistema cliente servidor?
Cmo est organizada fsicamente la informacin en una base de datos?

Ahora lee detenidamente cada una de las instrucciones y contesta lo que se te pide con
dedicacin:

1. Retoma la lecturas de los temas 3.3, 3.4 y 3.5
2. Arma tus propios conceptos acerca de cada uno de los temas, para ello bsate en
las preguntas que se te pidi que reflexionaras.
3. Ingresa al foro y genera una nueva entrada, opina sobre la de tus compaeros y
junto con tu profesor creen una conclusin general de cada tema.

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 44
Autoevaluacin

Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
tercera unidad del curso, es necesario que resuelvas la Autoevaluacin. Recuerda que es
muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin
adecuada para cada uno.

Evidencia de aprendizaje. Bases de datos en base a un caso

Una vez estudiado los captulos de la unidad es de suma importancia que se ejercite el
conocimiento, debido a que con ste tipo de actividad, se puede reforzar lo aprendido e
identificar en que punto no quedo tan claro el conocimiento.
El propsito de la actividad es realizar una base de datos en SQL y ensayar las
operaciones de creacin de base de datos en base a comandos, realizacin de consultas
en base a operadores del lgebra relacional y conocer el proceso de almacenamientos de
las base de datos, las cuales, como se mencion, van desde el aspecto fsico, hasta el
conceptual y lgico.

Instrucciones:
1. Lee con atencin el siguiente caso y realiza lo que se te pide en los puntos
siguientes. Observa que despus del caso que te presentan las tablas que tendra
las bases de datos y los atributos de cada una de ellas:
Una pequea empresa distribuidora de productos requiere un sistema de base de datos
que le ayude a controlar el procesamiento de los pedidos, dicha base de datos se llamar
VentasProductos y est compuesta por las siguientes tablas:
Clientes: Contiene una fila por cada uno de los clientes de la empresa. Sus
campos son: nmero de cliente, nombre de la empresa, nombre de la persona de
contacto de la empresa y lmite de crdito.
RepresentanteVentas: Contiene una fila por cada uno de los vendedores de la
empresa. Sus campos son: nmero de empleado, nombre edad, nmero de la
oficina en la que trabaja el vendedor, ttulo, fecha de contratacin, id del director
del empleado (todo empleado tiene un director del cual depende), cuota de ventas
previstas y nmero de ventas realizadas.
Oficinas: Contiene una fila por cada una de las oficinas en las que trabajan los
vendedores. Sus campos son: nmero de oficina, ciudad, regin, ventas realizadas
y objetivo de ventas.
Productos: Contiene una fila por cada producto disponible para ventas. Sus
campos son: id del producto, descripcin, precio y existencia.
Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 45
Pedidos. Contiene una fila por cada pedido ordenado por un cliente: Por
simplicidad, se supone que cada pedido solo puede ser un solo producto. Sus
campos son: nmero, fecha del pedido, nmero del cliente que hizo el pedido,
nmero de empleado que realiz el pedido, el id del producto que fue pedido, la
cantidad y el importe.

1. Crea los modelos para la base de datos del caso presentado (E-R y Relacional).
2. Crea la BD VentasProductos en SQL server 2008, en base a comandos.
3. Crea las tablas que se mencionan en el caso, con sus respectivos atributos, con
instrucciones de SQL.
4. Inserta por lo menos cinco registros a cada tabla por medio de comandos con
instrucciones SQL.
5. Realiza por lo menos diez consultas diferentes de las que se presentaron en la
unidad, utilizando algunos operadores lgicos, y observa lo que sucede.
6. Guarda todas estas instrucciones en un documento de Word, con el nombre
DBD_U3_INSTRUCCIONESSQL_XXYZ. Enva el archivo a tu Facilitador(a).
7. Consulta la escala de evaluacin.

Cierre de la unidad

Has concluido la tercera unidad del curso. A lo largo de esta se trataron conceptos
bsicos sobre lgebra relacional, clculo relacional, SQL y dispositivos de
almacenamiento, adems de que aprendiste a realizar bases de datos utilizando
comandos y realizar consultas de los datos almacenados en ellas, dependiendo de las
necesidades que pudiera tener el usuario; asimismo, cuentas con el conocimiento sobre
los diferentes dispositivos de almacenamiento para el guardado de las bases de datos.
Todo lo que aprendiste es de suma importancia, debido a que generars de forma
correcta bases de datos tiles y confiables, adems de que tendrs la satisfaccin de que
la informacin que se muestre al realizar una consulta es fiable y adecuada a lo que el
cliente te pida.
Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso,
felicidades, has terminado tu curso de bases de datos!

Para saber ms

Diseo de bases de datos
Unidad 3. Implementacin de Bases de datos

Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 46
Manual de instalacin SQL Server 2000,
http://sabd15n2.wikispaces.com/file/view/manual+de+instalacion+de+sql+server.pdf

Manual de instalacin SQL Server 2008, ruta:
http://es.scribd.com/doc/33502653/Manual-de-Instalacion-SQL-Server-2008
Fuentes de consulta

Date, C.J. (2001) Introduccin a los Sistemas de Bases de Datos, 7ma Edicin. Mxico:
Ed. Addisson Wesley Longman.
Hansen, G. W., y Hansen, J.V- (1997)- Diseo y administracin de bases de datos, 2da.
Edicin Prentice Hall.

Silberschatz A. & H. F. (2002) Fundamentos de Bases de Datos, 4ta Edicin. Espaa: Mc
Graw Hill.

Ramez, E. y Shamkant, B. (2007). Sistemas de Bases de Datos, 2da Edicin. Espaa:
Ed. Navathe

Das könnte Ihnen auch gefallen