You are on page 1of 95

Universidad Tecnolgica de Puebla

Tecnologas de la Informacin y Comunicacin

Manual de Asignatura
Basado en Competencias Profesionales

Base de Datos I

Enero 2012

ELABOR: UNIVERSIDAD TECNOLGICA


AUTORES:
APROB:
DE TIC

REVIS: UNIVERSIDAD(ES) TECNOLGICA(S)


REVISORES:

COMISION NACIONAL ACADMICA

FECHA DE ENTRADA EN VIGOR:

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Contenido
INTRODUCCIN .................................................................................. 6
UNIDAD TEMTICA I FUNDAMENTOS DE BASES DE DATOS. ......................... 7
1.1 Conceptos Bsicos. ................................................................................................................. 8
1.2 Modelos de Bases de Datos .................................................................................................... 9
1.2.1 Modelos Fsicos De Datos................................................................................. 9
1.2.2 Modelos Lgicos Basados En Registros ......................................................... 10
1.2.3 Modelos Lgicos Basados En Objetos ............................................................ 11
1.3

Definicin de Base de Datos y Sus Trminos ................................................................... 12

1.4

Objetivo de los Sistemas de Base de Datos. .................................................................... 12

1.5

Actores en los Sistemas De Bases De Datos ..................................................................... 14

1.6

Anlisis de requerimientos de Base de Datos ................................................................. 14

1.6.1

Tcnicas de Recoleccin de Datos............................................................. 15

1.7

Actividad 1 Conceptos Bsicos ......................................................................................... 16

1.8

Prctica 1 Requerimientos de Informacin ...................................................................... 17

2. UNIDAD TEMTICA II MODELO ENTIDAD RELACIN (E-R)................... 19


2.1 El Modelo Entidad-Relacin ................................................................................................ 21
2.1.1 Entidades y Atributos....................................................................................... 21
2.1.2 Relaciones....................................................................................................... 21
2.1.3 Restricciones De Asignacin ........................................................................... 22
2.1.4 Llave Primaria y Secundarias .......................................................................... 24
2.2 Modelo Entidad Relacin Extendido (EE-R) ....................................................................... 25
2.2.1 Generalizacin. ............................................................................................... 25
2.2.2 Especializacin. ............................................................................................... 27
2.3 Actividad 2 Modelo Entidad Relacin ............................................................................. 30

UNIDAD TEMTICA III

MODELO RELACIONAL .................................. 34

3.1 Conceptos del modelo Relacional. ....................................................................................... 35


3.1.1 Atributos .......................................................................................................... 35
3.1.2 Dominios. ........................................................................................................ 36
3.1.3 Tuplas.............................................................................................................. 36
2

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.1.4 Relaciones....................................................................................................... 36
3.1.5 Clave primaria, alternativa y Fornea ............................................................. 38
3.2 Transformacin del modelo E-R, EE-R al Modelo Relacional. ........................................... 38
3.2.1 Manejo de Entidad Dbiles. ............................................................................. 39
3.3 Esquema de una relacin. ..................................................................................................... 39
3.4 lgebra Relacional ............................................................................................................... 40
3.4.1 Operacin de Seleccin o Restriccin. ............................................................ 41
3.4.2 Operacin de Proyeccin. ............................................................................... 41
3.4.3 Composicin de operaciones relacionales ...................................................... 42
3.4.4 Operacin Unin ............................................................................................ 42
3.4.5 Operacin diferencia de conjuntos .................................................................. 44
3.4.6 Operacin Producto Cartesiano. ..................................................................... 44
3.5 Actividad 3 Transformacin al modelo relacional ............................................................... 47
3.6 Actividad 4 Transformacin del ER al Relacional. ............................................................. 47

UNIDAD TEMTICA IV DISEO DE BD RELACIONALES. ............... 51


4.1 Restricciones de Integridad. ................................................................................................. 51
4.2 Restricciones Semnticas. .................................................................................................... 52
4.3 Integridad Referencial .......................................................................................................... 52
4.4 Integridad De Entidad........................................................................................................... 54
4.5 Normalizacin de Base de Datos .......................................................................................... 54
4.5.1 Primera Forma Normal (1FN) .......................................................................... 55
4.5.2 Segunda Forma Normal (2FN) ........................................................................ 56
4.5.3 Tercera Forma Normal (3FN). ......................................................................... 56
4.6 Actividad 5 Normalizacin.................................................................................................. 58

UNIDAD TEMTICA 5 SISTEMA GESTOR DE BASES DE DATOS


(SGBD)............................................................................................ 59
5.1 Fundamentos de los SGBD .................................................................................................. 59
5.2 Ventajas De Un SGBD ......................................................................................................... 62
5.3 Estructura Global De Un Sistema De Base De Datos .......................................................... 62
5.3 Actividad 6 Sistema Gestor de Base de Datos ..................................................................... 64
3

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

UNIDAD TEMTICA 6 LENGUAJE DE DEFINICIN DE DATOS (SQL-DDL) ... 66


6.1 Componentes del SQL .......................................................................................................... 67
6.2 Comandos DDL .................................................................................................................... 68
6.2.1 Creacin de una Base de Datos ...................................................................... 68
6.2.2 Creacin de una Tabla .................................................................................... 68
6.2.3 Tipos de Datos. ............................................................................................... 69
6.2.4 Restriccin NOT NULL. ................................................................................... 70
6.2.5 Restriccin PRIMARY KEY ............................................................................. 70
6.2.6 Restriccin FOREIGN KEY ............................................................................. 71
6.2.7 Eliminar una Base de Datos o una Tabla ........................................................ 72
6.2.8 Modificar una Tabla dentro de una Base de Datos. ........................................ 72
6.2.9 Verificar la estructura de una tabla. ................................................................. 73
6.3 Prctica 2 Creacin, modificacin y eliminacin de una BD y de una tabla. .................... 73
6.4 Prctica 3 Creacin, modificacin y eliminacin de una BD y de una tabla. .................... 77
6.5 Actividad 7 Modificacin de una tabla................................................................................. 80

UNIDAD TEMTICA 7 LENGUAJE DE MANIPULACIN DE DATOS


(SQL-DML)...................................................................................... 81
7.1 Consultas Bsicas ................................................................................................................. 81
7.2 Clusula Insert. ..................................................................................................................... 82
7.3 Clusula Update .................................................................................................................... 84
7.4 Clusula Delete-From ........................................................................................................... 85
7.5 Consultas Especializadas ...................................................................................................... 86
7.5.1 La clusula SELECT ....................................................................................... 86
7.5.3 La orden Where ............................................................................................... 87
7.6 Funciones de Agregado de SQL ........................................................................................... 89
7.6.1 Funcin Avg .................................................................................................... 89
7.6.2 Funcin Count ................................................................................................. 89
7.6.3 Funciones First Y Last ..................................................................................... 90
7.6.4 Funciones Mn y Mx. ..................................................................................... 90
7.6.5 Funcin Sum. .................................................................................................. 90
4

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

7.7 Clusula Having Y Group By. .............................................................................................. 90


7.8 Vistas en SQL ....................................................................................................................... 91
7.9 Actividad 8 Consultas y Creacin de vistas. ........................................................................ 94

REFERENCIAS .................................................................................. 95
ANEXOS ............................................................................................. 95
Anexo 1. Formato Requerimientos de Informacin. .................................................................. 95

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

INTRODUCCIN

El siguiente documento integra informacin acerca temas relacionados con la asignatura de


Base de Datos. El objetivo principal del documento es brindar al alumno informacin que le
permita trabajar sobre el diseo conceptual que recoja la semntica de un determinado
universo de discurso, este proceso es muy creativo y no existe un procedimiento definido, sin
embargo es posible seguir una serie de recomendaciones para facilitar el mismo. Para permitir
implementar el modelado en un DDL (Lenguaje de Definicin de datos) y posteriormente
obtener informacin a travs de un DML (Lenguaje de Manipulacin de Datos). Adems de
propiciar la realizacin de trabajos futuros aplicados a su entorno, permitindoles solucionar
problemas en funcin de los conocimientos adquiridos de automatizacin de sistemas. Adems
de motivar en l, el autoestudio, la investigacin y la auto prctica.
Con la finalidad de que el alumno pueda aplicar algunos de los conocimientos adquiridos
durante el desarrollo de la asignatura, en este manual se integran prcticas que le permitirn
comprender conceptos y procesos de realizacin de Bases de Datos.

DESARROLLO
El manual est compuesto por 7 unidades temticas:
I.
II.
III.
IV.
V.
VI.
VII.

Fundamentos de Bases de Datos


Modelo Entidad-Relacin (E-R)
Modelo relacional
Diseo de BD Relacionales
Sistema Gestor de Bases de Datos (SGBD)
Lenguaje de definicin de datos (SQL-DDL)
Lenguaje de manipulacin de datos (SQL-DML)

Cada uno de estas unidades cuenta con informacin que sustenta cada uno de los temas
contenido en la unidad. Esta informacin en su mayora ha sido colectada de libros, sitios de
internet, para brindar al alumno informacin seria y de calidad. Se integran prcticas a los temas
para fortalecer el aprendizaje significativo del alumno.

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad Temtica I Fundamentos de Bases de Datos.


Objetivo: El alumno determinar los requerimientos de informacin para establecer el alcance de la Base
de datos.

Temas
Conceptos Bsicos

Anlisis de
requerimientos de
base de datos.

Saber

Saber hacer

Identificar los Objetivos de


los Sistemas de Base de
Datos, Modelos de Base de
Datos (relacional,
jerrquico, orientado a
objetos y de red),
Terminologa de Base de
datos, Principios y Actores
en BD.
Identificar las tcnicas de
Determinar los
recoleccin de datos
requerimientos para una
(observacin, entrevista,
base de datos.
cuestionarios), clasificacin
de datos y estructura bsica
de datos

Ser
Analtico
Disciplinado
Sistemtico
Organizado
Capaz de sintetizar
Hbil para el trabajo en
equipo.

Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Tolerante
Proactivo
Hbil para comunicarse de
forma oral y escrita
Capaz de sintetizar

Resultado de aprendizaje:
Elaborar a partir de un problema planteado, un listado de requerimientos de la base de datos, que
incluya:
Clasificacin de los datos de acuerdo a su funcin.
Estructura bsica de los datos.
Tcnica de recoleccin empleada.

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1.1 Conceptos Bsicos.


El almacenamiento y control de informacin es una tarea comn que se realiza en las grandes empresas,
instituciones, organizaciones, pequeas oficinas y hasta en nuestra vida personal. Anteriormente
podamos ver los grandes archiveros con cientos de folders que una secretaria intentaba mantener
organizados. Al tratar de automatizar el proceso de manejo de estos archivadores manuales, con objeto
de proporcionar un acceso ms eficiente a la informacin surgi la idea de crear los sistemas de archivos
como un conjunto de programas que manejaran sus propios datos de manera descentralizada; es decir;
cada departamento manejaba su propia informacin. Esto hizo que existiera como primer inconveniente
una gran cantidad de informacin repetida. Y otros ms, que se explican a continuacin:

Separacin y aislamiento de los datos: Cuando los datos se separan en distintos archivos, es
ms complicado acceder a ellos, ya que el programador de aplicaciones debe sincronizar el
procesamiento de los distintos archivos implicados para asegurar que se extraen los datos
correctos.
Duplicacin de datos. La redundancia de datos existente en los sistemas de archivos hace que
se desperdicie espacio de almacenamiento y lo que es ms importante: puede llevar a que se
pierda la consistencia de los datos. Se produce una inconsistencia cuando copias de los
mismos datos no coinciden.
Dependencia de datos. Ya que la estructura fsica de los datos (la definicin de los archivos y
de los registros) se encuentra codificada en los programas de aplicacin, cualquier cambio en
dicha estructura es difcil de realizar. El programador debe identificar todos los programas
afectados por este cambio, modificarlos y volverlos a probar, lo que cuesta mucho tiempo y
est sujeto a que se produzcan errores. A este problema, tan caracterstico de los sistemas de
archivos, se le denomina tambin falta de independencia de datos lgica-fsica.
Formatos de archivos incompatibles. Ya que la estructura de los archivos se define en los
programas de aplicacin, es completamente dependiente del lenguaje de programacin. La
incompatibilidad entre archivos generados por distintos lenguajes hace que los archivos sean
difciles de procesar de modo conjunto.
Consultas fijas y proliferacin de programas de aplicacin. Desde el punto de vista de los
usuarios finales, los sistemas de archivos fueron un gran avance comparados a los sistemas
manuales. A consecuencia de esto, creci la necesidad de realizar distintos tipos de consultas
de datos. Sin embargo, los sistemas de archivos son muy dependientes del programador de
aplicaciones: cualquier consulta o informe que se quiera realizar debe ser programado por l.

Los inconvenientes de los sistemas de archivos se pueden atribuir a dos factores:


1.
2.

La definicin de los datos se encuentra codificada dentro de los programas de aplicacin, en


lugar de estar almacenada aparte y de forma independiente.
No hay control sobre el acceso y la manipulacin de los datos ms all de lo impuesto por los
programas de aplicacin.

Por lo que surge el manejo de informacin en bases de datos. Una base de datos es una recopilacin de
informacin relativa a un asunto o un propsito particular, como el seguimiento de pedidos de clientes o
el mantenimiento de una coleccin de msica.
8

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1.2 Modelos de Bases de Datos


El modelo: es una coleccin de herramientas conceptuales para describir los datos, las relaciones que
existen entre ellos, semntica asociada a los datos y restricciones de consistencia, todo bajo una
representacin grfica.
Los modelos de bases de datos son entonces, un conjunto de conceptos, reglas y convenciones que nos
permiten describir y manipular (consultar y actualizar) los datos de un cierto mundo real que deseamos
almacenar en una base de datos.
En el estado actual de la tcnica es conveniente, en el diseo de bases de datos distinguir la fase del
modelado conceptual, que es la descripcin del mundo real (empresa o administracin) independiente
del Sistema Gestor de Bases de Datos (SGBD) que se vaya a utilizar y la fase del diseo lgico, en la cual
se ha de obtener un esquema que responda a la estructura lgica especifica del SGBD que se aplique en
cada caso, por lo que dicho esquema est sometido a las restricciones del SGBD.
La realizacin de modelos se considera importante porque sirve para:
Mejorar la comprensin de un problema.
Compartir informacin relevante y hacer trabajo de equipo.
Elaborar conclusiones y tomar decisiones bien fundadas.
Comunicar y plasmar nuestras percepciones de la realidad.
Abordar con xito la solucin de un problema.
Los componentes esenciales de un modelo de datos son:

Componentes Estticos: Definen las estructuras de datos vlidas.


Componentes Dinmicos: Definen las reglas de comportamiento y transformacin de los datos.

Los modelos de datos se dividen en tres grupos:


1. Modelos fsicos de datos.
2. Modelos lgicos basados en registros.
3. Modelos lgicos basados en objetos

1.2.1 Modelos Fsicos De Datos


Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este
tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de Datos. Existen dos
clasificaciones de este tipo:
1. Modelo Unificador
2. Memoria de Elementos.

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1.2.2 Modelos Lgicos Basados En Registros


Se utilizan para describir datos en los niveles conceptual y fsico; se utilizan para especificar la estructura
lgica completa de las bases de datos y proporcionan una descripcin de alto nivel de implementacin,
tienen un nmero fijo de campos, atributos y longitud fija, entre estos encontramos el modelo de red,
modelo jerrquico y modelo relacional:
Modelo de red.
Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan
por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan
en un conjunto de grficas arbitrarias.
Ejemplo:

Modelo jerrquico
Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por
medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de rboles en
lugar de grficas arbitrarias.

Modelo relacional

En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin de
tablas, en las cuales los renglones (tuplas) equivalen a cada uno de los registros que contendr la base
10

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

de datos y las columnas corresponden a las caractersticas (atributos) de cada registro localizado en la
tupla;
Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de
este problema determinamos que los objetos o entidades principales a estudiar son el empleado
(vendedor) y el artculo (que es el producto en venta).

1.2.3 Modelos Lgicos Basados En Objetos


Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo
representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una
capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos
explcitamente. Entre los modelos que encontramos de este tipo son Modelo Entidad-Relacin, Modelo
Entidad-Relacin Extendido y Modelo Orientado a Objetos.
Modelo Entidad-Relacin.- Coleccin de objetos bsicos llamados entidades y se pueden relacionar
entre s. Una persona, cosa, etc. Cada entidad tiene atributos. Tienen relacin que es la asociacin entre
varias entidades.
Modelo Entidad Relacin extendido.- El Modelo Entidad-Relacin Extendido incluye todos los
conceptos del Entidad-Relacin e incorpora los conceptos de Subclase y Superclase con los conceptos
asociados de Especializacin y Generalizacin. Otro nuevo concepto incluido por el EE-R es el de
Categora. Asociado a estos conceptos est el importante mecanismo de Herencia de atributos.
Modelo 0rientado a 0bjetos.- Un objeto tiene fragmentos de cdigo que operan en el objeto,
llamados mtodos. Un objeto puede acceder a los datos de otro mediante un paso de mensaje. No
requieren nivel fsico.
11

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1.3

Definicin de Base de Datos y Sus Trminos

Para disear una base de datos debemos establecer un proceso que nos permita plasmar el mundo real
mediante una serie de datos. En primer lugar la imagen que obtenemos del mundo real se denomina
modelo conceptual y consiste en una serie de elementos que definen lo que queremos plasmar del
mundo real en una base de datos.
Comenzando con algunos conceptos bsicos para el mejor entendimiento del mismo, se manejarn
definiciones de trminos que involucran a las bases de datos:
Datos: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o
alfanumricos.
Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del
usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a
informacin, primero se debe guardar lgicamente en archivos.
Campo: Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto
de vista del programador representa una caracterstica de un individuo u objeto.
Registro: Coleccin de campos de iguales o de diferentes tipos.
Archivo: Coleccin de registros almacenados siguiendo una estructura homognea.
En otras palabras una base de datos es un conjunto exhaustivo no redundante de datos estructurados y
organizados independientemente de su utilizacin y su implementacin. Las bases de datos proporcionan
la infraestructura requerida para los sistemas de apoyo a la toma de decisiones y para los sistemas de
informacin estratgicos, ya que estos sistemas explotan la informacin contenida en las bases de datos
de la organizacin para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. Por
este motivo es importante conocer la forma en que estn estructurados las bases de datos y su manejo.
En este marco se puede definir una base de datos como:
Conjunto o coleccin de archivos interrelacionados, cuyo contenido engloba a la informacin
concerniente de una organizacin, de tal manera que los datos estn disponibles para los usuarios, una
de las finalidades de las bases de datos es eliminar la redundancia o por lo menos minimizarla.

1.4

Objetivo de los Sistemas de Base de Datos.

Las funciones principales de un sistema de base de datos es disminuir los siguientes aspectos:
Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la
informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si
no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es
decir que la misma informacin sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta
12

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los
datos, es decir, diversas copias de un mismo dato no concuerdan entre s. Por ejemplo: que se actualiza
la direccin de un cliente en un archivo y que en otros archivos permanezca la anterior.
Dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de
datos que le facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes
necesita averiguar los nombres de todos los clientes que viven dentro del cdigo postal 78733 de la
ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente.
Puesto que esta situacin no fue prevista en el diseo del sistema, no existe ninguna aplicacin de
consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema.
Aislamiento de los datos. Puesto que los datos estn repartidos en varios archivos, y estos no pueden
tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos
apropiados.
Anomalas del acceso concurrente. Para mejorar el funcionamiento global del sistema y obtener un
tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos
simultneamente. En un entorno as la interaccin de actualizaciones concurrentes puede dar por
resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de
supervisin en el sistema.
Problemas de seguridad. La informacin de toda empresa es importante, aunque unos datos lo son ms
que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios
pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable
debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos. En un
banco por ejemplo, el personal de nominas solo necesita ver la parte de la base de datos que tiene
informacin respecto a los distintos empleados del banco y no a otro tipo de informacin.
Instancias y esquemas. Con el paso del tiempo la informacin que se va acumulando y desechando en la
base de datos, ocasiona que est cambie.
Instancia. Es el estado que presenta una base de datos en un tiempo dado. Vemoslo como una
fotografa que tomamos de la base de datos en un tiempo t, despus de que transcurre el tiempo
t la base de datos ya no es la misma.
Esquema. Es la descripcin lgica de la base de datos, proporciona los nombres de las entidades
y sus atributos especificando las relaciones que existen entre ellos. Es un banco en el que se
inscriben los valores que irn formando cada uno de los atributos. El esquema no cambia, los que
varan son los datos y con esto tenemos una nueva instancia.
Ejemplo:
Considerando el ejemplo del vendedor que vende artculos, esquema e instancia segn nuestro ejemplo,
quedara:
Esquema

{Vendedor: Nombre, puesto, salario, RFC}


13

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

{Articulo: Clave, costo, descripcin}


Instancia:

Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en
este caso en registros cuyos nombres de campos son: por parte del vendedor (Nombre, puesto, salario,
RFC) y por el artculo (Clave, costo, descripcin); La instancia representa a una serie de datos
almacenados en los registros establecidos por el esquema, estos datos varan, no permanecen fijos en el
tiempo.

1.5

Actores en los Sistemas De Bases De Datos

Denominado por sus siglas como: DBA, Database Administrator. Es la persona encargada y que tiene el
control total sobre el sistema de base de datos, sus funciones principales son:
Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de
base de datos desde que este se disea, elabora, termina y se usa.
Los usuarios que accedan una base de datos pueden clasificarse como:

1.6

Programadores de aplicaciones. Los profesionales en computacin que interactan con el


sistema por medio de llamadas en DML (Lenguaje de Manipulacin de Datos), las cuales estn
incorporadas en un programa escrito en un lenguaje de programacin (Por ejemplo, COBOL, PL/I,
Pascal, C, etc.)
Usuarios sofisticados. Los usuarios sofisticados interactan con el sistema sin escribir programas.
En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.
Usuarios especializados. Algunos usuarios sofisticados escriben aplicaciones de base de datos
especializadas que no encajan en el marco tradicional de procesamiento de datos.
Usuarios ingenuos. Los usuarios no sofisticados interactan con el sistema invocando a uno de
los programas de aplicacin permanentes que se han escrito anteriormente en el sistema de
base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el
sistema de base de datos sin saber nada del diseo interno del mismo por ejemplo: un cajero

Anlisis de requerimientos de Base de Datos

La recoleccin de datos se refiere al uso de una gran diversidad de tcnicas y herramientas que pueden
ser utilizadas por el analista para desarrollar los sistemas de informacin, los cuales pueden ser la
observacin, las entrevistas, el cuestionario, la encuesta, el diagrama de flujo y el diccionario de datos.
Estos instrumentos se aplican en un momento en particular, con la finalidad de buscar informacin que
ser til.
14

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1.6.1 Tcnicas de Recoleccin de Datos


Los analistas utilizan una variedad de mtodos a fin de recopilar los datos sobre una situacin existente,
como la observacin, entrevistas y cuestionarios entre otros. Cada uno tiene ventajas y desventajas.
Generalmente, se utilizan dos o tres para complementar el trabajo de cada una y ayudar a asegurar una
investigacin completa.

Observacin.
La observacin, permite al analista determinar que se est haciendo, como se est haciendo, quien lo
hace, cuando se lleva a cabo, cunto tiempo toma, dnde se hace y por qu se hace.
Preparacin para la observacin
1.
2.
3.
4.

Determinar y definir aquella que va a observarse.


Estimular el tiempo necesario de observacin.
Obtener la autorizacin para llevar a cabo la observacin.
Explicar a las personas que van a ser observadas lo que se va a hacer y las razones para ello.

Secuela de la observacin
1.
2.

Documentar y organizar formalmente las notas, impresionistas, etc.


Revisar los resultados y conclusiones junto con la persona observada, el supervisar inmediato y
posiblemente otro de sistemas.

Entrevista.
Las entrevistas se utilizan para recabar informacin en forma verbal, a travs de preguntas que propone
el analista. Quienes responden pueden ser gerentes o empleados, los cuales son usuarios actuales del
sistema existente, usuarios potenciales del sistema propuesto o aquellos que proporcionarn datos o
sern afectados por la aplicacin propuesta. El analista puede entrevistar al personal en forma individual
o en grupos.
En otras palabras, la entrevista es un intercambio de informacin que se efecta cara a cara. Es un canal
de comunicacin entre el analista y la organizacin; sirve para obtener informacin acerca de las
necesidades y la manera de satisfacerlas, as como consejo y comprensin por parte del usuario para
toda idea o mtodo nuevos.

15

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Preparacin de la Entrevista
1.
2.
3.
4.
5.

Determinar la posicin que ocupa de la organizacin el futuro entrevistado, sus responsabilidades


bsicas, actividades, etc.
Preparar las preguntas que van a plantearse, y los documentos necesarios.
Fijar un lmite de tiempo y preparar la agenda para la entrevista.
Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad.
Hacer la cita con la debida anticipacin.

La entrevista es una forma de conversacin, no de interrogacin, al analizar las caractersticas de los


sistemas con personal seleccionado cuidadosamente por sus conocimientos sobre el sistema, los
analistas pueden conocer datos que no estn disponibles en ningn otra forma. Son valiosas las
opiniones, comentarios, ideas o sugerencia en relacin a como se podra hacer el trabajo; la entrevista a
veces es la mejor forma para conocer las actividades de las empresas. La entrevista puede descubrir
rpidamente malos entendidos, falsa expectativa o incluso resistencia potencial para las aplicaciones de
desarrollo; ms an, a menudo es ms fcil calendarizar una entrevista con los gerentes de alto nivel, que
pedirle que llenen cuestionario.

Cuestionarios
Los cuestionarios proporcionan una alternativa muy til para la entrevista; sin embargo, existen ciertas
caractersticas que pueden ser apropiadas en algunas situaciones e inapropiadas en otra. Al igual que la
entrevistas, deben disearse cuidadosamente para una mxima efectividad.
Cuestionario Abierto
Al igual que las entrevistas, los cuestionarios pueden ser abiertos y se aplican cuando se quieren conocer
los sentimientos, opiniones y experiencias generales; tambin son tiles al explorar el problema bsico,
por ejemplo, un analista que utiliza cuestionarios para estudiar los mtodos de verificacin de crdito, es
un medio. El formato abierto proporciona una amplia oportunidad para quienes respondan escriba las
razones de sus ideas. Algunas personas sin embargo, encuentran ms fcil escoger una de un conjunto de
respuestas preparadas que pensar por s mismas.
Cuestionario Cerrado
El cuestionario cerrado limita las respuestas posibles del interrogado. Por medio de un cuidadoso estilo
en la pregunta, el analista puede controlar el marco de referencia. Este formato es el mtodo para
obtener informacin sobre los hechos.

1.7

Actividad 1 Conceptos Bsicos

INSTRUCCIONES
Desarrollar un mapa conceptual del tema: Conceptos bsicos deber incluir todos los conceptos
16

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

vistos en clase.
INDICADOR O

DESCRIPCIN

VARIABLE

Datos
generales
Ortografa y
redaccin
Presentacin

Aspectos
generales

CUMPLE
NO

FORMA
Asignatura, Unidad temtica, Nombre de la
actividad, Nombre del alumno(os), matrcula,
nombre del profesor, fecha.
Ortografa sin errores.

PORCENTAJE

5
10

Legible
Portada con los datos generales, encabezado
y pie de pgina a partir de la segunda pgina
especificando el nombre de la carrera y
nombre de la actividad.

De igual manera, se le pide que considere la


siguiente forma de entrega:

10

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Desarrollo
- Conclusin
CONTENIDO
Presentacin Presenta todos los conceptos vistos en clase
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL

1.8

40
20
10
100

Prctica 1 Requerimientos de Informacin

NOMBRE DE LA PRCTICA:
UNIDAD TEMTICA:
TEMA:
OBJETIVO DE LA PRCTICA:

Requerimientos de Informacin
I. Fundamentos de Bases de Datos.
Anlisis de requerimientos de base de datos.
Implementar un instrumento que le permita obtener
informacin y establecer los requerimientos para resolver el
problema planteado.

TIEMPO DE LA PRCTICA:

2 Hrs

FECHA:
DESCRIPCIN:
17

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

El alumno deber disear y construir un instrumento que permita obtener datos para establecer
los requerimientos a partir de los cuales se construir el modelo entidad relacin.
Problemas sugeridos:
1. Determine qu datos necesita para llevar el inventario de productos de una tiendita de
abarrotes.
2. Determine qu datos necesita si quiere llevar el control de los datos personales del grupo
donde est usted inscrito.
3. Determine qu datos necesita si desea realizar un control de los oficios que se emiten en
la direccin de la carrera.
Entregue por escrito en el formato previamente establecido y dado por el profesor de asignatura
sus requerimientos de informacin. (Revise anexo 1)

MATERIALES Y EQUIPOS:
Computadora

PROCEDIMIENTO:
1. Organizarse en equipo mximo de 3 personas
2. Analice y determine los requerimientos de informacin necesarios para resolver el
problema planteado por el profesor.
3. Presente su reporte de trabajo bajo las siguientes condiciones:
Elabore su reporte en un documento en un archivo de Word con letra arial de 10 o 12
pts. para el texto y de 12 o 14 pts. para ttulos y estructurar el contenido de la siguiente
manera:
Portada
ndice
Introduccin
Desarrollo
Conclusin
Bibliografa
La extensin mxima del documento a entregar es de 6 hojas, incluyendo portada.

CUESTIONARIO
REFERENCIAS

18

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

LISTA DE COTEJO PRCTICA 1


INDICADOR O
VARIABLE

CUMPLE

DESCRIPCIN

SI

NO

PORCENTAJE

ACTITUD (SER)
Puntualidad
Trabajo en
equipo

Entrega del trabajo tiempo y forma establecida


El alumno participa activamente en su equipo
aportando propuestas para la realizacin del
trabajo.

5
5

CONOCIMIENTO (SABER)
Requisitos de
Informacin
Requisitos de
Informacin

Identifica correctamente todos los instrumentos


para obtener informacin.
Identific el instrumento ms viable dependiendo
del problema que se le planteo.

20
20

HABILIDAD (SABER HACER)


Estructura
Presentacin

El instrumento generado tiene el orden


coherente para obtener la informacin necesaria
El instrumento generado le permiti obtener toda
la informacin necesaria para establecer sus
requerimientos de informacin
TOTAL

20
30
100

EVALUACIN: LA AUSENCIA PARCIAL O TOTAL DE ALGN INCISO TENDR UNA PENALIZACIN ACORDE A LA
PUNTUACIN SEALADA EN CADA INCISO

OBSERVACIN:
EVALUADOR
(NOMBRE Y
FIRMA)

2. Unidad Temtica II Modelo Entidad Relacin (E-R)


Objetivo: El alumno realizar el modelo E-R y el modelo Entidad Relacin Extendido (EE-R) para disear
un esquema de la base de datos, de acuerdo a los requerimientos establecidos.

Temas

Saber

Saber hacer

Ser

19

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Temas

Saber

Saber hacer

Modelo de datos Describir los conceptos, Elaborar un Diagrama E-R


Entidad-Relacin. funcin y representacin acorde a los requisitos
de: Entidades, Relaciones, establecidos.
Atributos (clasificacin y
conjuntos).
Restricciones de asignacin
(De entidad, Cardinalidad,
participacin) y Claves.
Identificar
el
Entidad-relacin.

Ser
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Hbil para comunicarse de
forma oral y escrita
Capaz de sintetizar

modelo

Modelo Entidad- Describir los conceptos ,


Relacin
funcin y representacin
Extendido.
de: subclase, superclase,
herencia, especializacin y
generalizacin

Elaborar un Diagrama EE- Analtico


R acorde a los requisitos Hbil para el trabajo en
establecidos.
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Hbil para comunicarse de
forma oral y escrita
Capaz de sintetizar

Resultado de aprendizaje:
Elaborar un documento a partir de un problema planteado que contenga:
Diagrama entidad-relacin (E-R)
Diagrama entidad-relacin extendido (EE-R).

20

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

2.1 El Modelo Entidad-Relacin


Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de entidades, que
son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno se
distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control
asignado al entrar a una institucin educativa, as mismo, un empleado, una materia, etc.

2.1.1 Entidades y Atributos


Las entidades pueden ser de dos tipos:
Tangibles. Son todos aquellos objetos fsicos que podemos ver, tocar o sentir.
Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que
existen.
Las caractersticas de las entidades se llaman atributos, por ejemplo el nombre, direccin telfono,
grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento,
etc., son atributos de la entidad empleado.

2.1.2 Relaciones
Una entidad se puede asociar o relacionar con ms entidades a travs de relaciones, Una relacin es la
asociacin que existe entre dos a ms entidades.
Por ejemplo, consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos
realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el
empleado (vendedor) y el artculo (que es el producto en venta), y las caractersticas o atributos que los
identifican son:
Empleado:
Nombre
Puesto
Salario
R.F.C.

Artculo:
Descripcin
Costo
Clave

La relacin entre ambas entidades la podemos establecer como Venta.


Bueno, ahora nos falta describir como se representa un modelo E-R grficamente, la representacin es
muy sencilla, se emplean smbolos, los cuales son:

21

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Smbolo

Representa

As nuestro ejemplo anterior quedara representado de la siguiente forma:

2.1.3 Restricciones De Asignacin


Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas
entidades de tipo B se pueden relacionar una entidad de tipo A:

2.1.3.1 Relacin uno a uno.


Se presenta cuando existe una relacin como su nombre lo indica uno a uno, denominado tambin
relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y
viceversa;
Por ejemplo: la relacin asignacin de automvil que contiene a las entidades EMPLEADO, AUTO, es una
relacin 1 a 1, ya que asocia a un empleado con un nico automvil por lo tanto ningn empleado posee
ms de un automvil asignado, y ningn vehculo se asigna a ms de un trabajador.
22

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Es representado grficamente de la siguiente manera:

La flecha significa de uno a uno

A: Representa a una entidad de cualquier tipo diferente a una entidad B.


R: en el diagrama representa a la relacin que existe entre las entidades.
El extremo de la flecha que se encuentra punteada indica el uno de la relacin, en este caso, una entidad
A ligada a una entidad B.

2.1.3.2 Relacin uno a muchos.


Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y
una entidad del tipo B solo puede estar relacionada con una entidad del tipo A.
Su representacin grfica es la siguiente:

Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica una entidad A
conectada a muchas entidades B.

2.1.3.3 Muchos a uno.


Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades del tipo A,
mientras que cada entidad del tipo A solo puede relacionarse con solo una entidad del tipo B.

23

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

2.1.3.4 Muchos a muchos.


Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con cualquier
cantidad de entidades del tipo B.

A los tipos de relaciones antes descritos, tambin se le conoce como cardinalidad.


La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el modelo E-R
y establecer con esto las validaciones necesarias para conseguir que los datos de la instancia (valor nico
en un momento dado de una base de datos) correspondan con la realidad.

2.1.4 Llave Primaria y Secundarias


La distincin de una entidad entre otra se debe a sus atributos, lo cual lo hacen nico. Una llave primaria
es aquel atributo el cual consideramos clave para la identificacin de los dems atributos que describen a
la entidad. Por ejemplo, si consideramos la entidad ALUMNO de la UTP, podramos tener los siguientes
atributos: Nombre, Cuatrimestre, Especialidad, Direccin, Telfono, Nmero de registro, de todos estos
atributos el que podremos designar como llave primaria es el nmero de registro, ya que es diferente
para cada alumno y ste nos identifica en la institucin.
Claro que puede haber ms de un atributo que pueda identificarse como llave primaria en este caso se
selecciona la que consideremos ms importante, los dems atributos son denominados llaves
secundarias.
Una clave o llave primaria es indicada grficamente en el modelo E-R con una lnea debajo del nombre
del atributo.

24

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

2.2 Modelo Entidad Relacin Extendido (EE-R)


2.2.1 Generalizacin.
La generalizacin consiste en identificar todos aquellos atributos iguales de un conjunto de entidades
para formar una entidad(es) global(es) con dichos atributos semejantes, dicha entidad(es) global(es)
quedara a un nivel ms alto al de las entidades origen.

Ejemplo:
Tomando el ejemplo del libro de fundamentos de base de datos de Henry F. Korth.
Donde:
Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y
Saldo, aunque adems de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques
el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son
iguales en ambas entidades.
Entonces tenemos:

Podemos leer esta grfica como: La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos
No_Cta y saldo, adems del atributo de TasaInteres, de forma semejante Cta_cheque tiene los atributos
de No_Cta, Saldo y SaldoDeudor.

25

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Como podemos observar la Generalizacin trata de eliminar la redundancia (repeticin) de atributos,


al englobar los atributos semejantes. La entidad(es) de bajo nivel cuentan (heredan) todos los atributos
correspondientes.
El proceso de especializacin nos permite lo siguiente:
Definir un conjunto se subclases a partir de una entidad.
Asociar atributos especficos a cada subclase.
Establecer relaciones especficas entre cada subclase con otras entidades o subclases.
Podemos pensar en un proceso inverso de abstraccin en el cual suprimimos las diferencias entre las
distintas entidades, identificando sus caractersticas comunes, y generalizando dichas entidades en una
sola superclase de la cual las entidades iniciales seran subclases especiales.
Por ejemplo, supongamos las entidades COCHE y CAMION de la figura 2(a); podremos generalizarlas en la
entidad VEHICULO, como se muestra en la figura 2(b). Tanto COCHE como CAMION sern ahora
subclases de la superclase generalizada VEHICULO. Usamos el trmino generalizacin para referirnos al
proceso de definicin de una entidad generalizada a partir de unas entidades dadas.

26

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

2.2.2 Especializacin.
El proceso por el que se definen las diferentes subclases de una superclase se conoce como
especializacin. El conjunto de subclases se define basndonos en caractersticas diferenciadoras de las
ocurrencias de entidad de la superclase.
Por ejemplo, el conjunto se subclases
{SECRETARIA, INGENIERO, TECNICO} es una especializacin de la superclase
EMPLEADO mediante la distincin del tipo de trabajo en cada ocurrencia de entidad. Podemos tener
varias especializaciones de una misma entidad basndonos en distintos criterios. Por ejemplo, otra
especializacin de EMPLEADO podra dar lugar a las subclases ASALARIADO y SUBCONTRATADO,
dependiendo del tipo de contrato.
La especializacin de un tipo de entidad en un conjunto de subtipos puede ser total o parcial

Especializacin total. Representa el hecho de que las entidades que son reconocidas en el
problema que se est representando son de alguno de los subtipos especializados, no existiendo
entidades que no pertenezcan a alguno, varios o todos estos subtipos de entidad.

Especializacin parcial: representa el hecho de que pueden existir entidades que pertenezcan al
tipo de entidad y no a ninguno de los subtipos en los cuales este tipo de entidad est
especializado. Es decir, describe un refinamiento incompleto del problema que se representa,
debido a un conocimiento incompleto del mismo y/o una simplificacin de la representacin del
mismo.

Por lo tanto se pueden representar cuatro tipos de interrelaciones jerrquicas que se representaran
mediante el modelo EE-R:

Total sin solapamiento: La siguiente figura muestra el tipo de entidad Persona el cual puede ser
especializada en dos subtipos de entidad Hombre y Mujer de forma tal y sin solapamiento. Una
entidad persona podr pertenecer al subtipo Hombre o al subtipo Mujer necesariamente; es
decir, no existir una Persona que no sea de alguno de estos dos subtipos y adems de forma
exclusiva, por lo que una entidad pertenecer a uno y slo uno de estos subtipos.

27

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Parcial sin solapamiento: La siguiente figura muestra un ejemplo de especializacin parcial


exclusiva. En este caso se ha considerado un tipo de entidad Enfermedad que puede ser
especializada en dos subtipos Vrica y Bacteriana. Este diagrama representa el hecho de que en el
problema se consideran un conjunto de entidades Enfermedad las cuales pertenecern bien a
alguno de los subtipos considerados Vrica o Bacteriana, pero que adems existirn entidades
Enfermedad las cuales no puedes ser clasificadas en ninguno de estos subtipos debido,
posiblemente, al desconocimiento del valor del atributo Tipo utilizado como discriminador.

Total con solapamiento: La siguiente figura representa un refinamiento total con solapamiento
en el que un tipo de entidad Empresa se ha redefinido en dos subtipos Pblica y Privada. Se est
representando el hecho de que podrn existir en el dominio del problema entidades que puedan
ser consideradas tanto del tipo Pblica como Privada, o bien de ambos tipos al mismo tiempo y,
adems el hecho de que no podrn existir entidades que no puedan ser especializadas en alguno
de estos dos subtipos.

28

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Parcial con solapamiento: en la siguiente figura se representa a un tipo de entidad Persona que
puede ser refinado en dos subtipos Trabajador y Estudiante de forma parcial con solapamiento.
Este ejemplo representa que una entidad Persona puede ser del tipo Trabajador y/o del tipo
Estudiante y que adems pueden existir entidades Persona que no puedan clasificarse en
ninguno de estos dos subtipos.

En los dos ltimos ejemplos, los subtipos de entidad incorporan nuevos atributos mediante los cuales
pueden diferenciarse entidades pertenecientes a los distintos subtipos (o del tipo de entidad general en
el caso en que la especializacin no sea total). Igualmente podran existir atributos pertenecientes al tipo
de interrelacin jerrquica cuya funcin fuera de esta diferenciacin de las entidades pertenecientes a
los subtipos.

29

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

2.3 Actividad 2 Modelo Entidad Relacin


INSTRUCCIONES
Dados los siguientes planteamientos identifique:
Entidades, Relaciones y Atributos
Cardinalidades
Llaves primarias, foreneas y candidatas.
1.
Representa los posibles atributos de la entidad Trabajador y la entidad Familiar as como
tambin la relacin que existe entre las dos entidades utilizando la simbologa del modelo E-R.
2.
Se requiere representar en una base de datos los libros y los autores de una biblioteca
teniendo en cuenta que un libro puede ser escrito por varios autores, utiliza la simbologa del
modelo E-R para esquematizar las entidades, atributos y la relacin que existe.
3.
Representa la relacin que existe entre los autobuses y los conductores de una lnea de
transporte, en la que el conductor puede conducir varios autobuses y un autobs puede ser
conducido por varios conductores, utiliza la simbologa del modelo E-R para esquematizar las
entidades, atributos y la relacin que existe.
INDICADOR O
VARIABLE

Puntualidad
Ortografa y
redaccin

DESCRIPCIN

CUMPLE
S
NO

FORMA
Entrega en tiempo y forma establecida
Ortografa sin errores.

PORCENTAJE
10
10

De igual manera, se le pide que considere la


siguiente forma de entrega:
Aspectos
generales

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Desarrollo
- Conclusin

CONTENIDO
Presentacin Presenta los conceptos solicitados
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL

10

40
20
10
100

INSTRUCCIONES
Dados los siguientes planteamientos Genere el modelo Entidad Relacin o el modelo Entidad
Relacin Extendido, segn sea el caso.
30

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Planteamientos:
Disear una base de datos que contenga informacin relativa a todas las carreteras de un
determinado pas. Sabiendo que:
1. En dicho pas las carreteras se encuentran divididas en tramos.
2. Un tramo siempre pertenece a una nica carretera y no puede cambiar de carretera.
3. Un tramo puede pasar por varios trminos municipales, siendo un dato de inters
4. el km. del tramo por el que entra en dicho termino municipal y el km. por el
5. que sale.
6. Existen una serie de areas en las que se agrupan los tramos, cada uno de los cuales no
puede pertenecer a ms de un rea.

Se desea disear una base de datos para una Universidad que contenga informacin sobre los
Alumnos, las Asignaturas y los Profesores. Teniendo en cuenta las siguientes restricciones:
1. Una asignatura puede estar impartida por muchos profesores (no a la vez) ya que pueden
existir grupos.
2. Un profesor puede dar clases de muchas asignaturas.
3. Un alumno puede estar matriculado en muchas asignaturas.
4. No existen asignaturas con el mismo nombre.
5. Un alumno no puede estar matriculado en la misma asignatura con dos profesores
distintos.

Disear una base de datos para una sucursal bancaria que contenga informacin sobre los
clientes, las cuentas, las sucursales y las transacciones producidas. Teniendo en cuenta las
siguientes restricciones:
1. Una transaccin viene determinada por su nmero de transaccin, la fecha y la cantidad.
2. Un cliente puede tener muchas cuentas.
3. Una cuenta puede tener muchos clientes.
4. Una cuenta slo puede estar en una sucursal.

Disear una base de datos que refleje toda la informacin necesaria para la gestin de las lneas
de metro de una determinada ciudad. Los supuestos semnticos considerados son los siguientes:
1. Una lnea est compuesta por una serie de estaciones en un orden determinado, siendo
muy importante recoger la informacin de ese orden.
2. Cada estacin pertenece al menos a una lnea, pudiendo pertenecer a varias.
3. Una estacin nunca deja de pertenecer a una lnea a la que anteriormente perteneca (P/E
La Merced, que pertenece a la lnea 1, nunca podr dejar de pertenecer a esta lnea).
4. Cada estacin puede tener varios accesos, pero consideramos que un acceso solo puede
pertenecer a una estacin.
5. Un acceso nunca podr cambiar de estacin.
6. Cada lnea tiene asignados una serie de trenes, no pudiendo suceder que un tren este
asignado a mas de una lnea, pero s que no est asignado a ninguna (P/E si se encuentra
en reparacin).

31

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Disear una base de datos que refleje toda la informacin la informacin necesaria para
almacenar la informacin relativa a algunos aspectos del campeonato de ftbol considerando los
supuestos semnticos siguientes:
1. Un jugador pertenece a un nico equipo y no hay dos jugadores con el mismo nombre.
2. Un jugador puede actuar en varios puestos distintos, pero en un determinado partido slo
puede jugar en un puesto.
3. Es obligatorio en todo momento que un jugador pertenezca a un equipo determinado y no
podr cambiar de equipo a lo largo del campeonato.

Disear una base de datos que guarde la informacin de una empresa dedicada al alquiler de
automviles. Los supuestos semnticos son los siguientes:
1. Un determinado cliente puede tener en un momento dado varias reservaciones de
alquiler.
2. Una reservacin la realiza un nico cliente, pero puede involucrar a varios coches.
3. Es importante registrar la fecha de comienzo de la reservacin y la de terminacin.
4. Todo coche tiene siempre asignado un determinado de garaje, que no puede cambiar.
5. En la base de datos pueden existir clientes que no hayan hecho ninguna reserva.

Disear una base de datos que guarde la informacin de una compaa: los empleados,
departamentos y proyectos de una empresa, de acuerdo con los siguientes requisitos:
1. La compaa est organizada en departamentos. Cada departamento tiene un nombre
nico, un nmero nico y un empleado que la dirige e interesa guardar la fecha en que
dicho empleado comenz a dirigir el departamento.
2. Un departamento puede estar distribuido en vario lugares.
3. Cada departamento controla un cierto nmero de proyectos, cada uno de los cuales tiene
un nombre y un nmero nicos, y se realiza en un slo lugar.
4. Se almacena el nombre, nmero de la Seguridad Social, direccin, salario, sexo y fecha de
nacimiento de cada empleado. Todo empleado est asignado a un departamento, pero
puede trabajar en varios proyectos que no tienen porque ser del mismo departamento.
Nos interesa saber el nmero de horas que un empleado trabaja en cada proyecto a los
que est asignado.
5. Tambin se quiere guardar la informacin de los familiares de cada empleado para
administrar el seguro que poseen. Almacenaremos el nombre, sexo y fecha de nacimiento
y su parentesco con el empleado.
INDICADOR O
VARIABLE

Puntualidad
Ortografa y
redaccin
Aspectos
generales

DESCRIPCIN
FORMA
Entrega en tiempo y forma establecida
Ortografa sin errores.
De igual manera, se le pide que considere la
siguiente forma de entrega:

CUMPLE
S
NO

PORCENTAJE
10
10
10
32

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Planteamiento del problema
- Desarrollo (Solucin)
- Conclusin
CONTENIDO
Presenta los conceptos solicitados
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL
Presentacin

40
20
10
100

33

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad Temtica III

MODELO RELACIONAL

Objetivo: El alumno transformar un diagrama E-R o EE-R a un modelo relacional para realizar consultas.

Temas
Conceptos del
modelo relacional

Saber
Describir los conceptos,
funcin y representacin
de: Dominios, atributos,
tuplas y relaciones.

Saber hacer
Establecer dominios para
las relaciones.

Ser
Analtico
Disciplinado
Sistemtico
Organizado
Capaz de sintetizar

Identificar las caractersticas


de las relaciones y notacin
del modelo relacional.
Esquemas de bases
Describir el concepto de
Disear un modelo de
de datos relacionales clave (primaria y fornea).
Base de Datos Relacional a
partir de un modelo E-R o
Describir el procedimiento EE-R.
para realizar la
transformacin de los
modelos E-R y EE-R a
Modelo relacional.
Algebra Relacional

Describir el procedimiento
para realizar las
Operaciones bsicas
(seleccionar, proyectar,
renombrar).
Describir el procedimiento
para realizar las
Operaciones adicionales
(conjuntos, reunin,
divisin).

Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Tolerante
Proactivo
Capaz de sintetizar
Realizar consultas a travs Analtico
del lgebra relacional.
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Tolerante
Proactivo
Capaz de sintetizar

Resultado de aprendizaje:
Realizar un reporte a partir de un problema planteado que contenga:
Transformacin de un diagrama E-R o EE-R a un modelo relacional que incluya: Definicin de
dominios (tipo de datos), Claves primarias y forneas, Relaciones.
Diseo de consultas empleando lgebra relacional.
34

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.1 Conceptos del modelo Relacional.


El modelo relacional ofrece una manera nica de representar los datos: como una tabla bidimensional
denominada relacin, dicha relacin contiene atributos:

Nombre
Esteban Bentez Prez
Luis Flores Aguilar
Virginia Prez Ruiz

Telefono
2654554
2547823
2356897

CP
72600
72450
78458

Relacin
Cliente

3.1.1 Atributos
Los atributos sirven de nombre a las columnas de la relacin; es decir, generalmente describen el
significado de las entradas de las columnas situada debajo de ellos.
Nombre

Telefono

CP

Existen diferentes tipos de atributos como son:

Atributos simples y compuestos. Los atributos simples no estn divididos en otros atributos. Los
atributos compuestos, en cambio, se pueden dividir en subpartes, por ejemplo: Nombre podra
estar estructurado como un atributo compuesto que consiste en nombre, apellido-paterno,
apellido-materno.

Atributos univalorados y multivalorados. Los atributos univalorados tienen un solo valor para
una entidad concreta, por ejemplo el atributo CP para una entidad cliente especfico, referencia
un nico cdigo postal. Se considera un atributo multivalorado porque en ocasiones un atributo
tiene un conjunto de valores para una entidad especfica, en el caso de un conjunto de entidades
empleado con el atributo nombre-subordinado, cualquier empleado particular puede tener, uno
o ms subordinados.

Atributos nulos. Se usa cuando una entidad no tiene un valor para un atributo. Por ejemplo, si un
empleado en particular no tiene subordinados, el valor nombre-subordinado para este empleado
ser nulo.

Atributo derivado. El valor para este tipo de atributo se puede derivar de los valores de otros
atributos o entidades. Por ejemplo: considrese que el conjunto de entidades empleado tiene
como atributos fecha-comienzo y antigedad, que representan el primer da en que el empleado
comenz a trabajar para el banco y el tiempo total en que el empleado lleva trabajando para el
35

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

banco, respectivamente, el valor de antigedad se puede derivar del valor de fecha-comienzo y


de la fecha actual. En este caso, fecha comienzo se puede referenciar como un atributo base o
atributo almacenado.

3.1.2 Dominios.
Un dominio D es un conjunto finito de valores homogneos y atmicos V1, V2, , Vn, caracterizado por un
nombre, decimos valores homogneos porque son todos del mismo tipo y atmicos porque son
indivisibles en lo que al modelo se refiere; es decir, si se descompusiesen, perderan la semntica a ellos
asociada.
Por ejemplo podemos definir el dominio materias, cuyo conjunto de valores podra ser: Bases de Datos,
Sistemas Operativos, Lenguajes de programacin, matemticas, etc.

3.1.3 Tuplas.
A los renglones de una relacin, si no son el rengln del encabezado que contiene los atributos, se les da
el nombre de tuplas. Una tupla tiene un componente para cada uno de los atributos de la relacin.
Las tuplas representan los objetos y la relacin a la que pertenecen representa su clase.

3.1.4 Relaciones
El elemento central del modelo relacional es la relacin. Una relacin tiene un nombre, un conjunto de
atributos que representan sus propiedades y un conjunto de tuplas que incluyen los valores que cada
uno de los atributos toma para cada elemento de la relacin.
No se deben confundir los conceptos de tabla y de relacin, ya que una tabla es solo una forma de
representar a una relacin. Y adems:

No puede haber dos tuplas iguales.


El orden de las tuplas no es significativo.
El orden de los atributos no es significativo.
Cada atributo solo puede tomar un nico valor de su dominio correspondiente.

3.1.4.1 Relaciones nominadas.

36

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Las relaciones nominadas o con nombre, adems se dividen en otros dos grupos por su duracin:

a) Persistentes
Son aquellas relaciones cuya definicin (esquema de relacin) permanece en la base de datos,
borrndose solamente mediante una accin explcita del usuario.
o

Base: Existen por s mismas, no en funcin de otras relaciones y se crean especificando


explcitamente su esquema de relacin (nombre y conjunto de pares: atributo/dominio).
Sus extensiones (ocurrencias de la relacin), al igual que su definicin, tambin se
encuentran almacenadas.

Vistas: Son relaciones derivadas que se definen dando un nombre a una expresin de
consulta. Se pueden tomar como relaciones virtuales, en el sentido de que no tienen
datos almacenados, sino que lo nico que se almacena es su definicin en trminos de
otras relaciones con nombre, las cuales pueden ser relaciones base, vistas o
instantneas.

Instantneas: son relaciones derivadas al igual que las vistas; es decir, se definen en
trminos de otras relaciones nominadas, pero tienen datos propios almacenados, los
cuales son el resultado de ejecutar la consulta especificada o de guardar una relacin
base.

b) Temporales
Una relacin temporal desaparece de la base de datos en un cierto momento sin necesidad de una
accin de borrado especfica por el usuario.
o

Autnomas: este tipo de relacin no se deriva de otra, al igual que las relaciones base.

o
o

Vistas temporales; similar a una vista pero de forma temporal.


Instantneas temporales: similar a una instantnea pero de forma temporal.

3.1.4.2 Relaciones sin nombre


Son los resultados de las consultas que no se materializan sino que se entregan al usuario que ha
realizado la consulta.

Resultado final de una consulta.

Resultados intermedios de una consulta.


37

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.1.5 Clave primaria, alternativa y Fornea


Una clave candidata de una relacin es un conjunto de atributos que identifican unvoca y mnimamente
cada tupla de la relacin. Por la propia definicin de relacin siempre hay, al menos una clave candidata,
ya que una relacin es un conjunto de tuplas, entonces no existen dos tuplas iguales y, por tanto, el
conjunto de todos los atributos siempre tiene que identificar unvocamente a cada tupla.

Una relacin puede tener ms de una clave candidata, entre las cuales se debe distinguir las claves:

Clave primaria: es aquella candidata que el usuario escoger, por consideraciones ajenas al
modelo relacional, para identificar las tuplas de la relacin. Cuando slo existe una clave
candidata, sta ser la clave primaria.

Claves alternativas o secundarias: son aquellas claves candidatas que no han sido escogidas
como clave primaria.

Clave Fornea: Se denomina clave fornea o ajena de una relacin (R1) a un conjunto no vaco de
atributos cuyos valores han de coincidir con los valores de la clave primaria de otra relacin(R2).
La clave ajena y la correspondiente clave primaria deben estar definidas sobre el mismo dominio.

3.2 Transformacin del modelo E-R, EE-R al Modelo Relacional.


La transformacin obedece a las siguientes reglas:

Cada entidad del modelo E-R se transforma en una tabla.

Todo atributo de una entidad en el modelo E-R se transforma en un campo dentro la tabla,
manteniendo las claves primarias.

Las relaciones con cardinalidad mxima N:M se transforman en una nueva tabla, cuya llave
primaria estar formada por la unin de los atributos primarios de las entidades que relaciona.

En las relaciones 1:N se pueden dar dos casos:


o

Generan una propagacin de llave primaria.


38

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Generan una nueva relacin.

Los atributos multivaluados dan lugar a una nueva relacin cuya clave primaria es la llave
primaria de la entidad a la que pertenece mas el nombre del atributo multivaluado.

3.2.1 Manejo de Entidad Dbiles.


Cuando un conjunto entidad dbil aparece en un diagrama E/R, hay que hacer tres cosas en forma
diferente:

La relacin del conjunto entidad dbil W tambin habr de incluir no slo los atributos de W, sino
tambin los atributos llave de los restantes conjuntos entidad que contribuyan a formar la llave
de W.

Las relaciones en que aparezca el conjunto entidad dbil W habrn de utilizar como llave de
Mtodos sus atributos llave, entre ellos los de otros conjuntos entidad que contribuyan a la llave
de W.

Cuando se introducen atributos adicionales para construir la llave de un conjunto entidad dbil, se tendr
mucho cuidado para no utilizar dos veces un mismo nombre.

3.3 Esquema de una relacin.


Se pueden distinguir dos conceptos ligados a la notacin de la relacin:

Intencin de una relacin: Parte definitoria y esttica de la relacin, es a lo que se le llama


esquema de relacin. Es invariable en el tiempo.
Cliente (nombre: int; telfono: varchar(60), CP:varchar(10))

Extensin: Conjunto de tuplas que en un instante determinado, satisfacen el esquema de la


relacin y se encuentran almacenadas en la base de datos. Normalmente se le llama
simplemente relacin. Cambia en el transcurso del tiempo.

Nombre
Esteban Bentez Prez

Telfono
2654554

CP
72600
39

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Luis Flores Aguilar


Virginia Prez Ruiz

2547823
2356897

72450
78458

Tanto el esquema como las tuplas de una relacin son conjuntos, no listas; y de ah que no importe el
orden en que sean presentadas. Se pueden enumerar las tuplas en cualquiera de sus rdenes posibles y
la relacin sigue siendo la misma.
Esteban Bentez Prez

2654554

2654554

Esteban Bentez Prez

2654554

72600

72600
72600

Esteban Bentez Prez

A la cantidad de tuplas que existen dentro de la relacin se le conoce como cardinalidad; es decir, es el
nmero total de renglones de la relacin.

3.4 lgebra Relacional


El algebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones
que toman como entrada una o dos relaciones y producen como resultado una nueva relacin.
Las ocho operaciones se agrupan en dos como sigue

Operadores tradicionales:
o Unin
o Interseccin
o Diferencia
o Producto Cartesiano.
Operadores Especiales:
o Restriccin o seleccin
o Proyeccin
o Reunin
o Divisin

Las operaciones seleccin, proyeccin y renombramiento se denominan operaciones unarias porque


trabajan sobre una sola relacin. Las otras operaciones operan sobre pares de relaciones y se denominan
por lo tanto binarias.

40

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.4.1 Operacin de Seleccin o Restriccin.


La operacin de restriccin selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega
sigma () para denotar la seleccin. El predicado aparece como subndice. La relacin del argumento se
da entre parntesis. Por tanto, para seleccionar las tuplas de la relacin prstamo en que la sucursal es
<<Plaza Dorada>> hay que escribir
nombre_sucursal=<<Plaza Dorada>> (prstamo)
Si la relacin prstamo es como se muestra a continuacin
Numero_prestamo
P-11
P-14
P-15
P-16
P-18

Nombre_sucursal
PLAZA DEL SOL
CENTRO
PLADA DORADA
PLAZA DORADA
PLAZA LORETO

Importe
900
1500
1500
1300
2000

La relacin que resultar de la consulta anterior es:


Numero_prestamo
P-15
P-16

Nombre_sucursal
PLADA DORADA
PLAZA DORADA

Importe
1500
1300

En general, se permiten las comparaciones que utilizan , =, <, <=, >, >= en el predicado de la seleccin.
Adems, se pueden combinar varios predicados en uno mayor utilizando las conectivas y (^) y o (v).
nombre_sucursal=<<Plaza Dorada>> ^importe >1200 (prstamo)

3.4.2 Operacin de Proyeccin.


Supngase que se desea hacer una lista de todos los nmeros del prstamo y del importe de los mismos,
pero sin que aparezcan los nombres de las sucursales. La operacin proyeccin permite producir esta
relacin. La operacin es unaria que devuelve su relacin de argumentos, excluyendo algunos
argumentos. Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas. Las
proyecciones se denotan con la letra mayscula pi (). Se crea una lista de los atributos que se desea que
aparezcan en el resultado como subndice. La relacin de argumentos se escribe a continuacin entre
parntesis. Por tanto la consulta para crear la lista de todos los nmeros de prstamo y del importe de
los mismos puede escribirse como:
numero_prestamo, importe (prstamo)
41

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Y la relacin que resulta es:


Numero_prestamo
P-11
P-14
P-15
P-16
P-17
P-18

Importe
900
1500
1500
1300
1000
2000

3.4.3 Composicin de operaciones relacionales


Es importante el hecho de que el resultado de una operacin relacional sea tambin una relacin.
Considrese la consulta ms compleja <<Encontrar los clientes que viven en el centro>> hay que escribir:
nombre_cliente ,( colonia_cliente =<<Centro>>(Cliente))
Tngase en cuenta, en vez de dar en el argumento la operacin proyeccin el nombre de una relacin se
da una expresin que se evala como una relacin.
En general dado que el resultado de la operacin del algebra relacional es del mismo tipo (relacin) que
los datos de entrada, las operaciones del algebra relacional pueden componerse para formar una
expresin del algebra relacional.
La composicin de operaciones del algebra relacional para formar expresiones es igual a la de las
operaciones aritmticas

3.4.4 Operacin Unin


Considrese una consulta para averiguar el nombre de todos los clientes del banco que tienen una
cuenta o un prstamo o ambas cosas. Obsrvese que la relacin cliente no contiene esa informacin,
dado que los clientes no necesitan tener ni cuenta ni prstamo en el banco. Para contestar a esta
consulta hace falta la informacin de las relaciones impositoras y prestatarias que a continuacin se dan:
Nom_cliente
Oscar
Ral

Num_cuenta
C-102
C-103

Joaqun
Martn
Abril

C-104
C-105
C-106

Nom_cliente
Ramiro
Ral
Joaqun
Sandra
Guillermo

Num_prestamo
P-16
P-17
P-18
P-19
P-20
42

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Se conoce la manera de averiguar los nombres de todos los clientes con prstamo en el banco
nom_cliente (prestatario)
Tambin se conoce la manera de averiguar el nombre de todos los clientes en el banco:
nom_cliente (impositor)
Para contestar a la consulta hace falta la unin de estos dos conjuntos; es decir, hacen falta todos los
nombres de clientes que aparecen en alguna de las dos relaciones o en ambas. Estos datos se pueden
averiguar mediante la operacin binaria unin, denotada, como en la teora de conjuntos, por U. por
tanto la expresin buscada es:
nom_cliente (prestatario)

nom_cliente (impositor)

La relacin resultante de esta consulta aparece en la siguiente tabla:


Nom_cliente
Abril
Guillermo
Joaqun
Martn
Oscar
Ramiro
Ral
Sandra
Tngase en cuenta que en el resultado hay ocho tuplas, aunque hay cinco prestatarios y cinco
impositores distintos. Esta discrepancia aparente se debe a que Joaqun y Ral son ala vez prestatarios e
impositores. Dado que las relaciones son conjuntos, se eliminan los valores duplicados.
Obsrvese que en este ejemplo se toma la unin de dos conjuntos, ambos consistentes en valores
nom_cliente. En general, se debe asegurar que las uniones se realicen entre relaciones compatibles.
Por lo tanto para que una operacin unin relacin1 U relacin2 sea vlida hay que exigir que se cumplan
dos condiciones:

Las relaciones 1 y 2 deben ser de la misma aridad. Es decir, deben tener el mismo nmero de
atributos.
Los dominios de los atributos i-simos de relacin1 y de relacin2 deben ser iguales para todo i
43

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.4.5 Operacin diferencia de conjuntos


Las operaciones diferencias de conjuntos, denotada por ( - ) signo menos , permite buscar las tuplas que
estn en una relacin perno no en la otra. La expresin relacin1 relacin2 da como resultado una
relacin que contiene las tuplas que estn en relacin1 pero no en la relacin2.
Se puede buscar todos los clientes del banco que tienen abierta una cuenta pero no tienen concedido
ningn prstamo escribiendo.
nom_cliente (impositor)

nom_cliente (prestatario)

La relacin resultante de esta consulta es:


Nom_cliente
Abril
Martn
Oscar
Como en el caso de la operacin de unin, hay que asegurarse de que las diferencias de conjuntos se
realicen en relaciones compatibles. Por lo tanto para que la operacin diferencia de conjuntos sea vlida
hay que exigir que las relaciones sean de la misma aridad y que los dominios de los atributos i-simos de
las relaciones sean iguales.

3.4.6 Operacin Producto Cartesiano.


La operacin denotada por un aspa (x) permite combinar la informacin de cualquiera de dos relaciones.
El producto cartesiano de las relaciones r1 y r2 como r1 x r2.
Recurdese que las relaciones se definen como subconjuntos del producto cartesiano de un conjunto de
dominios. A partir de esta definicin ya se debe tener una intuicin sobre la definicin del producto
cartesiano. Sin embargo, dado que el mismo nombre de atributo puede aparecer tanto en r1 como en r2,
hay que crear un esquema de denominacin para distinguir entre ambos atributos. En este caso se logra
adjuntando al atributo el nombre de la relacin de la que proviene originalmente. Por ejemplo. El
esquema de relacin de r=prestatario x prstamo es:
(prestatario.nom_cliente,
prestatario.Num_prestamo,
prestamo.num_prestamo, prestamo.importe)

prstamo.nombre_sucursal,

Con este esquema se puede distinguir entre prestatario.num_prestamo y prestamo.num_prestamo. Para


los atributos que solo aparecen en uno de los dos esquemas se suele omitir el prefijo con el nombre de la
44

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

relacin. Esta simplificacin no genera ambigedad alguna. Por tanto, se puede escribir el esquema de la
relacin como de r como:
(nom_cliente, prestatario.Num_prestamo, nombre_sucursal, prestamo.num_prestamo, importe)
El acuerdo de denominaciones precedente exige que las relaciones que sean argumentos de la
operacin de producto cartesiano tengan nombres diferentes. Esta exigencia causa problemas en
algunos casos, como cuando se desea calcular el producto cartesiano de una relacin consigo misma. Se
producen un problema similar si se utiliza el resultado de una expresin del algebra relacional en un
producto cartesiano, dado que har falta un nombre para la relacin para poder hacer referencia a sus
atributos.
Supngase que desea averiguar los nombres de todos los clientes que tienen concedido un prstamo en
la sucursal de Plaza Dorada. Se necesita para ello informacin de las relaciones prstamo y prestatario
Prstamo
Numero_prestamo
P-11
P-14
P-15
P-16
P-17
P-18

Prestatario
Nombre_sucursal
PLAZA DEL SOL
CENTRO
PLADA DORADA
PLAZA DORADA
CENTRO
PLAZA LORETO

Importe
900
1500
1500
1300
1000
2000

Nom_cliente
Ramiro
Ral
Joaqun
Sandra
Guillermo

Numero_prestamo
P-16
P-17
P-15
P-19
P-20

Si se escribe:
nombre_sucursal=<<Plaza Dorada>> (prestatario x prstamo)
Teniendo una relacin que solo atae a la sucursal de Plaza dorada. Sin embargo la columna nom_cliente
puede contener clientes que no tengan concedido ningn prstamo en la sucursal mencionada (Si no se
ve el motivo por el cual esto es cierto, recurdese que el producto cartesiano toma todos los
emparejamientos posibles de una tupla de prestatario con una tupla de prstamo).
Dado que la operacin de producto cartesiano asocia todas las tuplas de prstamo con todas las tuplas
de prestatario, se sabe que , si un cliente tiene concedido un prstamo en la sucursal de Plaza Dorada,
hay alguna tupla prestatario X prstamo que contiene el nombre y que prestatario.numero_prestamo =
prestamo.numero_prestamo. Por tanto si escribimos:
prestatario.numero_prestamo=prestamo.numero_prestamo( nombre_sucursal=<<Plaza Dorada>> (prestatario x prstamo))

45

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Slo se obtienen las tuplas de prestatario X prstamo que corresponden a los clientes que tienen
concedido un prstamo en la sucursal de Plaza Dorada.
Finalmente, dado que slo se desea obtener nom_cliente, se realiza una proyeccin:
nom_cliente( prestatario.numero_prestamo=prestamo.numero_prestamo( nombre_sucursal=<<Plaza Dorada>> (prestatario x
prstamo)))

46

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3.5 Actividad 3 Transformacin al modelo relacional


INSTRUCCIONES
Con los problemas planteado en la actividad 2 pgina (29) y siguiendo las reglas de transformacin
realice la transformacin al modelo relacional del ejercicio que se le haya asignado
INDICADOR O
VARIABLE

Puntualidad
Ortografa y
redaccin

DESCRIPCIN

CUMPLE
NO

PORCENTAJE

FORMA
Entrega en tiempo y forma establecida
Ortografa sin errores.

10
5

De igual manera, se le pide que considere la


siguiente forma de entrega:

Aspectos
generales

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Planteamiento del problema (dado
en el ejercicio 4)
- Desarrollo:
Modelo Entidad - Relacin Entidad
Relacin Extendido segn sea el
caso
- Transformacin al Modelo relacional
- Conclusin

CONTENIDO
Presentacin Aplica las reglas de transformacin
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL

20

40
20
5
100

3.6 Actividad 4 Transformacin del ER al Relacional.


INSTRUCCIONES
Dados los siguientes planteamientos genere el modelo Entidad Relacin o el modelo E-R
extendido y a partir de si diagrama genere el modelo Relacional:
Ejercicio 1:
El departamento de formacin de una empresa desea construir una base de datos para planificar
47

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

y gestionar la formacin de sus empleados.


La empresa organiza cursos internos de formacin de los que se desea conocer el cdigo del curso,
el nombre, una descripcin, el nmero de horas de duracin y el costo del curso.
Un curso puede tener como prerrequisito haber realizado otro(s) previamente, y, a su vez la
realizacin de un curso puede ser prerrequisito de otros. Un curso que es un prerrequisito de otro
puede serlo de forma obligatoria o slo recomendable.
Un mismo curso tiene diferentes ediciones, es decir, se imparte en diferentes lugares, fechas y con
diferentes horarios (intensivo, de maana o de tarde). En una misma fecha de inicio slo puede
impartirse una edicin de un curso.
Los cursos se imparten por personal de la propia empresa.
De los empleados se desea almacenar su cdigo de empleado, nombre y apellidos, direccin,
telfono, CURP, fecha de nacimiento, nacionalidad, sexo, salario, as como si est o no capacitado
para impartir cursos.
Un mismo empleado puede ser docente en una edicin de un curso y alumno en otro curso, pero
nunca puede ser ambas cosas a la vez.
Ejercicio 2:
La comunidad de Guadalajara desea guardar informacin sobre los alojamientos rurales que
existen en dicha comunidad. Para ello decide crear una base de datos que recoja las siguientes
consideraciones:
Un alojamiento rural se identifica por un nombre (Villa Aurora, Las Rosas, etc), tiene una
direccin, un telfono y una persona de contacto que pertenece al personal de alojamiento.
En cada alojamiento trabajan una serie de personas que se identifican por un cdigo de personal.
Se requiere conocer el nombre completo, la direccin y el CURP. Aunque en un alojamiento
trabajen varias personas, una persona slo puede trabajar en un alojamiento.
Los alojamientos se alquilan por habitaciones y se desea conocer, cuntas habitaciones componen
el alojamiento, de qu tipo (individuales, dobles, triples) es cada una de estas habitaciones, si
poseen cuarto de bao y el precio.
En algunos de estos alojamientos se realizan actividades multiaventura organizadas para
huspedes (senderismo, bicicleta de montaa, etc) . Estas actividades se realizan un da a la
semana en un alojamiento, adems de que se identifican por un cdigo. Es de inters tambin
saber el nombre de la actividad, el da que se realiza, la descripcin y el nivel de dificultad de dicha
actividad en una escala del (1-10).
48

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ejercicio 3:
El Ministerio de Educacin y Ciencia desea mantener informacin acerca de todos los cuadros que
se encuentran en las pinacotecas mexicanas y toda la informacin relacionada con ellos.
De cada pinacoteca se desea saber el nombre (nico), la ciudad en la que se encuentra, la
direccin y los metros cuadrados que tiene.
Cada pinacoteca tiene una serie de cuadros de los que se quiere guardar su cdigo, nombre,
medidas, fecha en que fue pintado y tcnica utilizada para pintarlo.
Cada cuadro es pintado por un determinado pintor (nombre, pas, ciudad, fecha de nacimiento y
fecha de fallecimiento). Un pintor puede tener a otro como maestro, un maestro puede serlo de
varios (o de ninguno).
Los pintores pueden pertenecer o no a una escuela de la que se desea saber su nombre, en que
pas y fecha en que apareci.
Los pintores pueden tener tambin uno o varios mecenas que los protegen de los que se desea
saber (nombre, pas, ciudad de nacimiento, fecha de fallecimiento, fecha en que se inicia y fecha
en que termina el mecenazgo). A su vez un mismo mecenas puede serlo de varios pintores. Se
desea recoger la relacin que existe entre un pintor y su mecenas.

INDICADOR O
VARIABLE

Puntualidad
Ortografa y
redaccin

DESCRIPCIN
FORMA
Entrega en tiempo y forma establecida
Ortografa sin errores.

CUMPLE
S
NO

PORCENTAJE
10
5

De igual manera, se le pide que considere la


siguiente forma de entrega:

Aspectos
generales

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Planteamiento del problema (dado
en el ejercicio 4)
- Desarrollo:
Modelo Entidad - Relacin Entidad
Relacin Extendido segn sea el
caso
- Transformacin al Modelo relacional
- Conclusin

20

49

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

CONTENIDO
Presentacin Aplica las reglas de transformacin
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL

40
20
5
100

50

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

UNIDAD TEMTICA IV DISEO DE BD RELACIONALES.


Objetivo: El alumno realizar la normalizacin de la BD considerando las restricciones de integridad para
evitar la redundancia e inconsistencia de datos

Temas

Saber

Saber hacer

Restricciones de
Integridad

Identificar los
Determinar las restricciones
conceptos y
de integridad en una BD
aplicaciones de las
Relacional.
restricciones de
integridad (de dominio,
de unicidad y de
integridad referencial).

Normalizacin

Identificar el concepto y Normalizar un modelo de


niveles de
datos.
normalizacin.
Identificar el
procedimiento para
realizar la
normalizacin de un
modelo de datos
empleando la 1FN, 2FN
y 3FN.

Ser
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Capaz de sintetizar
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Hbil para comunicarse
de forma oral y escrita
Capaz de sintetizar

Resultado de aprendizaje:
Elaborar un reporte a partir de un modelo relacional, que incluya:

El procedimiento de la Normalizacin empleando hasta la 3FN.


Modelo normalizado en la 3FN.
Definicin de restricciones de integridad, de acuerdo al modelo.

4.1 Restricciones de Integridad.


Las restricciones de integridad garantizan que el contenido de la base de datos es conforme con las reglas
establecidas para presentar el Universo del Discurso. La integridad de una base de datos significa la
existencia de dos componentes importantes que son la exactitud y la completitud. Es decir, que la
integridad de base de datos garantiza que todos los datos son correctos (validos) y relevantes.
51

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Existen una serie de caractersticas de una relacin que han de cumplirse obligatoriamente, por lo que se
trata de restricciones inherentes, y estas son las siguientes:

No hay dos tuplas iguales (de donde se deduce la obligatoriedad de la clave primaria).
El orden de las tuplas no es significativo.
El orden de los atributos no es significativo.
Cada atributo slo puede tomar un nico valor del dominio sobre el que est definido, no
admitiendo por tanto los grupos repetitivos.
Ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo.

4.2 Restricciones Semnticas.


Las restricciones semnticas son facilidades que el modelo ofrece a los usuarios a fin de que stos
puedan reflejar en el esquema, lo ms fielmente posible, la semntica del mundo real.
Sin embargo, estas restricciones semnticas, no son muchas veces suficientes para captar toda la
semntica del universo del discurso que se est tratando de modelar.
Las principales restricciones semnticas del modelo relacional son las siguientes:

Clave primaria: La declaracin de un atributo como clave primaria de una relacin es una
restriccin semntica que responde a la necesidad del usuario de imponer que los valores del
conjunto de atributos que constituyen la llave primaria no se repitan en la relacin ni tampoco
tomen valores nulos.
Unicidad (UNIQUE): mediante la cual se indica que los valores de un conjunto de atributos no
pueden repetirse en una relacin. Esta restriccin permite la definicin de claves alternativas.
Obligatoriedad (NOT NULL): se indica que el conjunto de atributos no admite valores nulos.
Integridad referencial (FOREIGN KEY): Todo el valor de llave fornea debe concordar con un
valor de la clave primaria referenciada.

4.3 Integridad Referencial


Establece que una tupla de relacin que haga referencia a otra relacin debe referirse a una tupla
existente en esa relacin. En otras palabras: La integridad referencial requiere que una llave externa
contenga ya sea un valor nulo o la llave de una tupla dominante existente de la entidad a la que hace
referencia.
La integridad referencial es importante porque las llaves externas son el nico mecanismo para mantener
relaciones. Por consiguiente la integridad referencial protege contra errores que puedan alterar
relaciones legtimas o crear agrupaciones no validas
52

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

La integridad referencial es una importante restriccin semntica que viene impuesta por el mundo real,
siendo el usuario quien la define al describir el esquema relacional, y el modelo la reconoce sin necesidad
de que se programa ni de que se tenga que escribir ningn procedimiento para obligar a su
cumplimiento.
Adems de definir las claves ajenas, hay que determinar las consecuencias que pueden tener ciertas
operaciones (borrar y modificar) realizadas sobre las tuplas de la relacin referenciada; pudiendo
distinguir las siguientes opciones:

Operacin restringida: el borrado de las tuplas de la relacin que contiene la clave referenciada
slo se permite si no existen tuplas con ese valor en la relacin que contiene la clave ajena.
Operacin con transmisin en cascada (CASCADE): el borrado de tuplas de la relacin que
contiene la clave candidata referenciada, lleva consigo el borrar en cascada las tuplas de la
relacin que contiene la clave ajena.
Operacin con puesta a nulos (SET NULL): el borrado de tuplas de la relacin que contiene la
clave candidata referenciada lleva consigo poner a nulos los valores de las claves ajenas de la
relacin que referencia. Esta opcin slo es posible cuando el atributo que es clave ajena admite
valores nulos.
Operacin con puesta a valor por defecto (SET DEFAULT): el borrar tuplas de la relacin que
contiene la clave candidata referenciada lleva consigo poner el valor por defecto a la clave ajena
de la relacin que referencia, valor por defecto que habra sido definido al crear la tabla
correspondiente.

Existen otras restricciones llamadas de rechazo, en las que el usuario formula una condicin mediante un
predicado definido sobre un conjunto de atributos de tuplas o de dominios, el cual debe ser verificado
por los correspondientes objetos en toda operacin de actualizacin para que el nuevo estado constituya
una ocurrencia vlida del esquema; en caso de que la operacin intente violar la condicin se impide que
la operacin se lleve a cabo (es decir, se produce un rechazo de la operacin).

Se pueden distinguir dos restricciones de rechazo, segn la condicin afecte a un nico elemento de la
base de datos o a ms de uno.

Verificacin (CHECK): comprueba, en toda operacin de actualizacin, si el predicado es cierto o


falso y en el segundo caso, rechaza la operacin. Estas restricciones se definen sobre un nico
elemento y puede o no tener nombre.
Asercin (ASSERTION): acta de forma idntica a la anterior, pero a diferencia de ella se puede
afectar a varios elementos y su definicin por tanto, no va unida a la de un determinado
elemento, por lo que siempre ha de tener un nombre, ya que la asercin es un elemento ms del
esquema que tiene vida por s mismo.

53

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

4.4 Integridad De Entidad.


Establecen que ningn valor de clave primaria puede ser nulo, esto es porque el valor de la clave primaria
se usa para identificar las tuplas
Debido a que un valor clave es sustituto fundamental para una tupla, es razonable insistir en que los
valores clave nunca sean nulos. Esta restriccin se denomina integridad de entidad.
La integridad de entidad requiere que una tupla nunca deba contener valores nulos en sus atributos de
llave.

4.5 Normalizacin de Base de Datos


Normalizacin es un proceso que clasifica relaciones, objetos y formas de relacin, en base a las
caractersticas que cada uno posee. Si se identifican ciertas reglas se aplica una categora; si no cumplen
las reglas, se descomponen repartiendo sus atributos entre esquemas de relacin ms pequeos que
cumplen las condiciones establecidas.
Objetivos de la normalizacin de un diseo:

Eliminar anomalas de actualizacin.


Conservar la informacin (descomposicin sin prdida de informacin).
Conservar las dependencias funcionales.
No crear dependencias nuevas o interrelaciones inexistentes.
Facilidad de uso.
Eficiencia.

Ventajas de la normalizacin:

La cantidad de espacio requerido para almacenar los datos es la menor posible.


Evita anomalas en inserciones, modificaciones y borrados.
Mejora la independencia de datos.
Mayor rapidez en la ordenacin y en la creacin de ndices.
Menos ndices por tabla.
Evita restricciones artificiales en la estructura de los datos.

Por ejemplo:
Normalizacin CERO (No aplicada ninguna regla de normalizacin)

54

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

usuarios
nombre

empresa

direccion_empresa

url1

url2

Joe

ABC

1 Work Lane

abc.com

xyz.com

Jill

XYZ

1 Job Street

abc.com

xyz.com

Observe los campos url1 y url2 Qu haremos cuando en nuestra aplicacin necesitemos una tercera url?
Quieres tener que aadir otro campo/columna a tu tabla y tener que reprogramar toda la entrada de
datos? Obviamente no, se debe crear sistema funcional que pueda crecer y adaptarse fcilmente a los
nuevos requisitos.

4.5.1 Primera Forma Normal (1FN)

Los datos tienen que ser atmicos.

Eliminar los grupos repetitivos de las tablas individuales.

Crear una tabla separada por cada grupo de datos relacionados.

Identificar cada grupo de datos relacionados con una clave primaria.

Sin embargo se est rompiendo un punto de la 1FN cuando repetimos los campos url1 y url2, tambin se
repite la clave primaria. La regla tres bsicamente significa que tenemos que poner un campo tipo
contador autoincrementable para cada registro. De otra forma, si tuviramos dos usuarios llamados de la
misma forma como los diferenciaramos. Una vez que se aplica el primer nivel de F/N tenemos la
siguiente tabla:

Usuarios
user_id

nombre

empresa

direccin_empresa

url

Joe

ABC

1 work lane

abc.com

Joe

ABC

1 work lane

Xyz.com

Jill

XYZ

1 job street

abc.com

Jill

XYZ

1 job street

Xyz.com

55

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

4.5.2 Segunda Forma Normal (2FN)

Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros.

Relacionar estas tablas mediante una clave externa.

Hemos separado el campo url en otra tabla, de forma que podemos aadir ms en el futuro si tener que
duplicar los dems datos. Tambin vamos a usar nuestra clave primaria para relacionar estos campos:
urls

Usuarios
user_id

nombre

empresa

direccion_empresa

Jos

ABC

1 work lane

Mara

XYZ

1 job street

url_id

relUserId

url

abc.com

xyz.com

abc.com

xyz.com

Ahora se tienen tablas separadas y la clave primaria en la tabla usuarios, user_id, est relacionada ahora
con la clave externa en la tabla urls, relUserId. Pero si quiere aadir otro empleado a la empresa ABC, se
duplicaran el nombre de la empresa y su direccin, entonces se aplica la 3FN.

4.5.3 Tercera Forma Normal (3FN).


Eliminar aquellos campos que no dependan de la clave.
Empresa

Urls

emprId

empresa

direccion_empresa

url_id

RelUserId

url

ABC

1 work lane

abc.com

XYZ

1 job street

xyz.com

abc.com

xyz.com

usuarios
user_id

nombre

relEmpresaId

Joe

Jill

empresa
emprId empresa

direccion_empresa

ABC

1 work lane

XYZ

1 job street

56

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Ahora las tablas de usuarios y urls pueden crecer todo lo que quieran sin duplicacin ni corrupcin de
datos. La mayora de los desarrolladores dicen que el tercer nivel de F/N es suficiente, que nuestro
esquema de datos puede manejar fcilmente los datos obtenidos de una cualquier empresa en su
totalidad, y en la mayora de los casos esto ser cierto.

Sin embargo en nuestra tabla urls, el campo url tiene valores duplicados. Esto es perfectamente
aceptable si la entrada de datos de este campo es solicitada al usuario en nuestra aplicacin para que
teclee libremente su url, y por lo tanto es slo una coincidencia que Joe y Jill teclearon la misma url.
Pero qu pasa si en lugar de entrada libre de texto usramos un men desplegable con 20 o incluso ms
urls predefinidas? Entonces tendramos que llevar nuestro diseo de BD al siguiente nivel de F/N, el
cuarto, muchos desarrolladores lo pasan por alto porque depende mucho de un tipo muy especfico de
relacin, la relacin 'varios-con-varios', la cual an no hemos encontrado en nuestra aplicacin.

Observa las tablas de la 1FN. Suponemos que ponemos el campo url en una tabla separada, y cada vez
que introducimos un registro en la tabla usuarios tambin introducimos una sola fila en la tabla urls.
Entonces tendramos una relacin uno-a-uno: cada fila en la tabla usuarios tendra exactamente una fila
correspondiente en la tabla urls. Para los propsitos de nuestra aplicacin no sera til la normalizacin.
En la 2FN. Nuestras tablas permiten a un slo usuario tener asociadas varias urls. Esta es una relacin
uno-con-varios, el tipo de relacin ms comn, y hasta que se nos present el dilema del Tercer Nivel de
F/N. la nica clase de relacin que necesitamos.
La relacin varios-con-varios, sin embargo, es ligeramente ms compleja. Observa en nuestro ejemplo del
Tercer Nivel de F/N que tenemos a un usuario relacionado con varias urls. Como dijimos, vamos a
cambiar la estructura para permitir que varios usuarios estn relacionados con varias urls y as
tendremos una relacin varios-con-varios. Veamos como quedaran nuestras tablas antes de seguir con
este planteamiento:
usuarios

url_relations

user_id

nombre

relEmpresaId

relationId

relatedUrlId

relatedUsedId

Joe

Jill

Urls
urlId

url

abc.com

xyz.com

57

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Para disminuir la duplicacin de los datos, hemos creado una tabla que slo tiene claves externas y
primarias url_relations. Hemos sido capaces de remover las entradas duplicadas en la tabla urls creando
la tabla url_relations.

4.6 Actividad 5 Normalizacin


INSTRUCCIONES
De los ejercicios propuestos en la actividad 4.
Una vez creado el modelo Relacional del ejercicio de la actividad 4 asignado por el maestro de
grupo aplique las formas normales (como mnimo las tres primeras).
INDICADOR O
VARIABLE

Puntualidad

Aspectos
generales

DESCRIPCIN

CUMPLE
NO

FORMA
Entrega en tiempo y forma establecida
La forma de entrega es la siguiente:

10

Elabore el documento en un archivo de


Word estructurado de la siguiente manera:
- Portada
- Planteamiento del problema (dado
en el ejercicio 4).
- Modelo Entidad - Relacin Entidad
Relacin Extendido segn sea el
caso
- Transformacin al Modelo relacional
- Aplicacin de las tres formas
normales. El documento debe
reflejar perfectamente la separacin
de las tres formas normales
- Conclusin

CONTENIDO
Aplica las reglas de normalizacin
Organiza su informacin para tener la
Desarrollo
correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL

PORCENTAJE

25

Presentacin

50
10
5
100

58

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

UNIDAD TEMTICA 5 SISTEMA GESTOR DE BASES DE DATOS


(SGBD)
Objetivo: El alumno realizar la gestin de la BD a travs de un SGBD para aprender su funcionamiento.

Temas
Fundamentos de los
SGBD.

Saber
Definir el concepto,
caractersticas y tipos
de SGBD.

Saber hacer
Seleccionar el SGBD de
acuerdo a las necesidades
del proyecto.

Identificar los
principales SGBD.

Manipulacin de una Identificar el entorno


Manipular una base de
BD.
de desarrollo del SGBD. datos a travs de un SGBD.
Identificar los
procedimientos para
manipular una base de
datos empleando el
SGBD.

Ser
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Capaz de sintetizar
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Capaz de sintetizar

Resultado de aprendizaje:
Realizar un documento que incluya ejercicios prcticos de manipulacin de una base de datos a travs
de un SGB:

Creacin, modificacin y eliminacin de una base de datos.


Creacin, modificacin y eliminacin de una tabla.
Creacin, modificacin y eliminacin de datos.

5.1 Fundamentos de los SGBD


El sistema de gestin de la base de datos (SGBD) es una aplicacin que permite a los usuarios definir,
crear y mantener la base de datos, y proporciona acceso controlado a la misma.

59

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Propsito:
El propsito general de los sistemas de gestin de base de datos es el de manejar de manera clara,
sencilla y ordenada un conjunto de datos.
Objetivos:
Existen distintos objetivos que deben cumplir los SGBD:

Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del
almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de
archivos, este hecho se hace transparente al usuario.
Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema
(fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se
sirven de ella.
Redundancia mnima. Un buen diseo de una base de datos lograr evitar la aparicin de
informacin repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no
obstante, en algunos casos la complejidad de los clculos hace necesaria la aparicin de
redundancias.
Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, ser
necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente,
es decir, que todos los datos repetidos se actualicen de forma simultnea.
Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor.
Los SGBD deben garantizar que esta informacin se encuentra asegurada frente a usuarios
malintencionados, que intenten leer informacin privilegiada; frente a ataques que deseen
manipular o destruir la informacin; o simplemente ante las torpezas de algn usuario
autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de
permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos.
Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos
almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos
por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la informacin
almacenada.
Respaldo y recuperacin. Los SGBD deben proporcionar una forma eficiente de realizar copias de
seguridad de la informacin almacenada en ellos, y de restaurar a partir de estas copias los datos
que se hayan podido perder.
Control de la concurrencia. En la mayora de entornos (excepto quizs el domstico), lo ms
habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar
informacin, bien para almacenarla. Y es tambin frecuente que dichos accesos se realicen de
forma simultnea. As pues, un SGBD debe controlar este acceso concurrente a la informacin,
que podra derivar en inconsistencias.
Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD tarda en
darnos la informacin solicitada y en almacenar los cambios realizados.

El SGBD es tambin conocido como Manejador de Bases de Datos o DBMS por sus siglas en Ingls.
60

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

La figura muestra el SGBD denotado por DBMS como interfase entre la base de datos fsica y las
peticiones del usuario. El SGBD interpreta las peticiones de entrada/salida del usuario y las manda al
sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria
principal.
En s, un sistema gestor de base de datos es el corazn de la base de datos ya que se encarga del control
total de los posibles aspectos que la puedan afectar.
Todos los SGBD no presentan la misma funcionalidad, depende de cada producto existen SGBD libres y
comerciales entre los ms comunes tenemos:
SGBD libres:

PostgreSQL
MySQL
Firebird
SQLite
Sybase ASE Express Edition para Linux (Edicin gratuita para Linux)

SGBD comerciales:

dBase
FileMaker
Fox Pro
IBM DB2 Universal Database (DB2 UDB)
IBM Informix
MAGIC
Microsoft SQL Server
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
61

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Sybase IQ
WindowBase

5.2 Ventajas De Un SGBD


Ventajas:
1.
2.
3.
4.

Facilidad de manejo de grandes volmenes de informacin.


Gran velocidad en muy poco tiempo.
Independencia del tratamiento de informacin.
Seguridad de la informacin (acceso a usuarios autorizados), proteccin de informacin, de
modificaciones, inclusiones, consulta.
5. No hay duplicidad de informacin, comprobacin de informacin en el momento de introducir la
misma.
6. Integridad referencial el terminar los registros.
Inconvenientes:
1.
2.
3.
4.
5.
6.
7.

El costo de actualizacin del hardware y software son muy elevados.


Costo (salario) del administrador de la base de datos es costoso.
El mal diseo de esta puede originar problemas a futuro.
Un mal adiestramiento a los usuarios puede originar problemas a futuro.
Si no se encuentra un manual del sistema no se podrn hacer relaciones con facilidad.
Generan campos vacos en exceso.
El mal diseo de seguridad genera problemas en esta.

5.3 Estructura Global De Un Sistema De Base De Datos


Un sistema de base de datos se encuentra dividido en mdulos cada uno de los cuales controla una parte
de la responsabilidad total de sistema. En la mayora de los casos, el sistema operativo proporciona
nicamente los servicios ms bsicos y el sistema de la base de datos debe partir de esa base y controlar
adems el manejo correcto de los datos. As el diseo de un sistema de base de datos debe incluir la
interfaz entre el sistema de base de datos y el sistema operativo.
Los componentes funcionales de un sistema de base de datos, son:

Gestor de archivos. Gestiona la asignacin de espacio en la memoria del disco y de las


estructuras de datos usadas para representar informacin.
Manejador de base de datos. Sirve de interfaz entre los datos y los programas de aplicacin.
Procesador de consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de
bajo nivel. Adems convierte la solicitud del usuario en una forma ms eficiente.
Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen
metadatos, estas se almacenan en el diccionario de datos.
62

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Archivo de datos. En l se encuentran almacenados fsicamente los datos de una organizacin.


Diccionario de datos. Contiene la informacin referente a la estructura de la base de datos.
ndices. Permiten un rpido acceso a registros que contienen valores especficos.

Una forma grfica de representar los componentes antes mencionados y la relacin que existe entre
ellos sera la siguiente.

El SGBD es la aplicacin que interacciona con los usuarios de los programas de aplicacin y la base de
datos. En general, un SGBD proporciona los siguientes servicios:

Permite la definicin de la base de datos mediante el lenguaje de definicin de datos. Este


lenguaje permite especificar la estructura y el tipo de los datos, as como las restricciones sobre
los datos. Todo esto se almacenar en la base de datos.
Permite la insercin, actualizacin, eliminacin y consulta de datos mediante el lenguaje de
manejo de datos. El hecho de disponer de un lenguaje para realizar consultas reduce el problema
de los sistemas de archivos, en los que el usuario tiene que trabajar con un conjunto fijo de
consultas, o bien, dispone de un gran nmero de programas de aplicacin costosos de gestionar.
Proporciona un acceso controlado a la base de datos mediante:
63

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

o
o
o
o
o

un sistema de seguridad, de modo que los usuarios no autorizados no puedan acceder a


la base de datos;
un sistema de integridad que mantiene la integridad y la consistencia de los datos;
un sistema de control de concurrencia que permite el acceso compartido a la base de
datos;
un sistema de control de recuperacin que restablece la base de datos despus de que
se produzca un fallo del hardware o del software;
un diccionario de datos o catlogo accesible por el usuario que contiene la descripcin de
los datos de la base de datos.

A diferencia de los sistemas de archivos, el SGBD gestiona la estructura fsica de los datos y su
almacenamiento. Con esta funcionalidad, el SGBD se convierte en una herramienta de gran utilidad. Sin
embargo, desde el punto de vista del usuario, se podra discutir que los SGBD han hecho las cosas ms
complicadas, ya que ahora los usuarios ven ms datos de los que realmente quieren o necesitan, puesto
que ven la base de datos completa. Conscientes de este problema, los SGBD proporcionan un mecanismo
de vistas que permite que cada usuario tenga su propia vista o visin de la base de datos. El lenguaje de
definicin de datos permite definir vistas como subconjuntos de la base de datos.
Las vistas, adems de reducir la complejidad permitiendo que cada usuario vea slo la parte de la base de
datos que necesita, tienen otras ventajas:

Las vistas proporcionan un nivel de seguridad, ya que permiten excluir datos para que ciertos
usuarios no los vean.
Las vistas proporcionan un mecanismo para que los usuarios vean los datos en el formato que
deseen.
Una vista representa una imagen consistente y permanente de la base de datos, incluso si la base
de datos cambia su estructura.

5.3 Actividad 6 Sistema Gestor de Base de Datos


INSTRUCCIONES
Genere un mapa mental o conceptual con los conceptos vistos en la unidad
INDICADOR O
VARIABLE

Puntualidad

Aspectos
generales

Presentacin

DESCRIPCIN
FORMA
Entrega en tiempo y forma establecida
La forma de entrega es la siguiente:
Elabore el documento en un archivo de
Word estructurado de la siguiente manera:
- Portada
- Aplicacin del mapa mental
CONTENIDO
Aplica los conceptos vistos en la unidad

CUMPLE
S
NO

PORCENTAJE
10

25

50
64

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Organiza su informacin para tener la


correcta relacin de los conceptos
Representa de manera correcta los
Representacin
conceptos
TOTAL
Desarrollo

10
5
100

65

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Unidad Temtica 6

Lenguaje de Definicin de Datos (SQL-DDL)

Objetivo: El alumno construir una BD utilizando el Lenguaje de Definicin de Datos (DDL) para la
creacin y modificacin de su esquema

Temas
Introduccin a SQL.

Saber

Saber hacer

Identificar el concepto y
funcionalidad del SQL.
Identificar las
caractersticas de los
lenguajes de DDL y DML.

Creacin del
esquema de una BD.

Modificacin del
esquema de una BD.

Identificar las clusulas y


sintaxis del DDL para la
creacin de BD (crea base
de datos, crea tabla,
creacin de ndice,
definicin de restricciones,
definicin de llave
primaria y fornea) y
vistas.
Identificar las clusulas y
sintaxis del DDL para la
modificacin de BD (alter y
drop).

Crear el esquema de una


BD a travs del Lenguaje
SQL.

Modificar el esquema de
la BD mediante el
Lenguaje SQL.

Ser
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Hbil para comunicarse
de forma oral y escrita
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo

Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo

Resultado de aprendizaje:
Realizar un documento que incluya ejercicios prcticos de manipulacin de una base de datos a travs
de un SGB:

Creacin, modificacin y eliminacin de una base de datos.


Creacin, modificacin y eliminacin de una tabla.
Creacin, modificacin y eliminacin de datos.

66

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.1 Componentes del SQL


El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos
elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
Existen dos tipos de comandos SQL:

Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices.

Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
Comandos DLL

Comando
Descripcin
CREATE
Utilizado para crear nuevas tablas, campos e ndices
DROP
Empleado para eliminar tablas e ndices
Utilizado para modificar las tablas agregando campos o cambiando la definicin de los
ALTER
campos.
Comandos DML
Comando
Descripcin
Utilizado para consultar registros de la base de datos que satisfagan un criterio
SELECT
determinado
INSERT
Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE
Utilizado para eliminar registros de una tabla de una base de datos
Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o
manipular.

Clusula
Descripcin
FROM
Utilizada para especificar la tabla de la cual se van a seleccionar los registros
Utilizada para especificar las condiciones que deben reunir los registros que se van a
WHERE
seleccionar
GROUP BY Utilizada para separar los registros seleccionados en grupos especficos
HAVING
Utilizada para expresar la condicin que debe satisfacer cada grupo
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico
67

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.2 Comandos DDL


6.2.1 Creacin de una Base de Datos
Primeramente podemos consultar cual de las bases de datos tenemos ya creadas. Para ello utilizamos el
comando SHOW. Todos los comandos SQL terminan con un punto y coma (;).
Ejemplo:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+------------------+
Ahora Utilizando el comando CREATE DATABASE, es como construimos una nueva Base de Datos.
Debemos asignar el identificador de la base de datos delante del comando.
mysql> CREATE DATABASE zoologico;
Query OK, 1 row affected (0.00 sec)
Al verificar utilizamos nuevamente el comando SHOW:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| zoologico|
+------------------+

6.2.2 Creacin de una Tabla


El comando CREATE TABLE se utiliza para la creacin de tablas dentro de una base de datos. Su sintaxis es
la siguiente:

CREATE TABLE table_name


(
column_name1 data_type,
column_name2 data_type,
68

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

column_name3 data_type,
....
);
Dnde table_name, es el identificador de la nueva tabla. column_name1, es el nombre del atributo o
identificador del primer campo de la tabla. Y finalmente data_type, es el tipo de dato para cada columna
o atributo.
Ejemplo:
CREATE TABLE Personas
(
Id_P int,
nombre varchar(255),
apellido varchar(255),
direccin varchar(255),
Ciudad varchar(255)
);

6.2.3 Tipos de Datos.

Numricos exactos

bigint
bit
decimal
int
money
numeric
smallint
smallmoney
tinyint
Numricos aproximados

float
real
Fecha y Hora
date
datetime
datetime2
datetimeoffset
smalldatetime
time
69

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Cadena de caracteres

char
text
varchar
Cadena de caracteres unicode

nchar
ntext
nvarchar
Cadenas binarias

binary
image
varbinary

6.2.4 Restriccin NOT NULL.

La restriccin NOT NULL, obliga a una columna a no aceptar valores nulos. Es decir, el campo est
siempre obligado a contener un valor, lo impide que no se pueda agregar un registro o actualizar sin
colocar un valor en ste campo.
Ejemplo:
CREATE TABLE Personas
(
Id_P int NOT NULL,
nombre varchar(255) NOT NULL,
apellido varchar(255),
direccin varchar(255),
Ciudad varchar(255)
);

6.2.5 Restriccin PRIMARY KEY


La restriccin PRIMARY KEY, identifica de manera nica a cada registro dentro de una tabla. El campo
primario debe contener valores nicos, no puede contener valores nulos. Cada tabla debe tener siempre
un campo primario y solo uno.
Ejemplo 1:
70

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

CREATE TABLE Personas


(
Id_P int NOT NULL,
nombre varchar(255) NOT NULL,
apellido varchar(255),
direccin varchar(255),
Ciudad varchar(255),
PRIMARY KEY (Id_P)
);

Ejemplo 2:
CREATE TABLE Personas
(
Id_P int NOT NULL PRIMARY KEY,
nombre varchar(255) NOT NULL,
apellido varchar(255),
direccin varchar(255),
Ciudad varchar(255)
);

6.2.6 Restriccin FOREIGN KEY


Un campo Foreign Key de una tabla apunta a un campo Primary Key de otra tabla. Esta restriccin
previene la insercin de datos no vlidos en el campo Ferign Key, ya que sus valores tienen que
corresponder a uno de los valores del campo al que apunta.
Ejemplo:
CREATE TABLE Orden
(
Id_orden int NOT NULL,
NoOrden int NOT NULL,
Id_P int,
PRIMARY KEY (Id_orden),
FOREIGN KEY (Id_P) REFERENCES Personas (Id_P)
);
Donde Id_P es tambin el campo primary key de la tabla personas.

71

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.2.7 Eliminar una Base de Datos o una Tabla


Con el comando DROP, podemos eliminar el esquema de una base de datos. Por ejemplo borrar una
tabla:

DROP TABLE table_name;


Donde table_name es el nombre de la tabla a eliminar.
O bien eliminar una basa de datos completamente.
DROP DATABASE database_name;
Donde database_name es el nombre de la Base de Datos a eliminar.

6.2.8 Modificar una Tabla dentro de una Base de Datos.


La sentencia ALTER TABLE, se utiliza para agregar, borrar o modificar columnas en una tabla existente.

Sintaxis para agregar una columna:


ALTER TABLE table_name
ADD column_name datatype;
Donde: table_name, es el nombre de la tabla a modificar y column_name es la columna a agregar
especificando el tipo de datos para la nueva columna datatype.

Sintaxis para borrar una columna:


ALTER TABLE table_name
DROP COLUMN column_name

Sintaxis para cambiar el tipo de datos para una columna.


ALTER TABLE table_name
ALTER COLUMN column_name datatype;
Donde column_name es la columna a modificar y datatype es el nuevo tipo de datos para esa
columna.
72

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.2.9 Verificar la estructura de una tabla.


Para poder constatar que nuestra tabla se ha creado tal y como se ha indicado, utilizaremos el comando
DESCRIBE.
Ejemplo:
mysql> DESCRIBE personas;
Field

Type

Null Key Default Extra

Id_P

int(11)

NO PRI NULL

nombre varchar(255) NO

NULL

apellido varchar(255) YES

NULL

direccin varchar(255) YES

NULL

Ciudad

NULL

varchar(255) YES

6.3 Prctica 2 Creacin, modificacin y eliminacin de una BD y de una tabla.


NOMBRE DE LA PRCTICA:
UNIDAD TEMTICA:
TEMA:
OBJETIVO DE LA PRCTICA:
TIEMPO DE LA PRCTICA:

Creacin, modificacin y eliminacin de una base de datos. Y


de una tabla.
Lenguaje de Definicin de Datos
Creacin, modificacin y eliminacin de una base de datos
El aprenda los conceptos bsicos de para la manipulacin de
una base de datos.

2 Hrs

FECHA:
DESCRIPCIN:

El alumno realizar la creacin de la tabla mascotas, utilizando su usuario y la base de datos


llamada iniciobase. La informacin de la tabla mascota ser:
Nombre de la mascota que ser de tipo carcter de 20, propietario de la mascota que ser igual
carcter y de una longitud de 20, la especia de la mascota tipo carcter de 20 de longitud, sexo,
carcter de 1, nacimiento y fallecimiento, que corresponden a la fecha de nacimiento y
fallecimiento del animalito, la cual va a ser de tipo fecha.

MATERIALES Y EQUIPOS:
Computadora
73

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

PROCEDIMIENTO:
En primer lugar entrar al monitor MySQL, escriba la instruccin: Mysql u root mysql
Crearemos una base de datos con el nombre de: iniciobase.
create database iniciobase;
S la instruccin es correcta le debe de aparecer la siguiente oracin:
Query OK, 1 row affected (0.00 sec)
La cual indica que la base de datos ha sido creada con xito. Como se ve a continuacin:

Mostraremos las bases de datos que este usuario tiene asignadas:


SHOW DATABASES;

Para poder trabajar sobre la base de datos creada utililice el siguiente comando:
USE iniciobase;

Para proceder ahora a crear la tabla mascotas utilice la siguiente sintaxis:

74

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Utilizaremos el comando SHOW TABLES para comprobar que se ha creado la tabla mascotas.

Y para conocer la estructura que esta tabla almaceno utilizaremos el comando


DESCRIBE mascotas;

Para borrar la base de datos iniciobase utilize el siguiente comando:


DROP DATABASE iniciobase;
Muestre las bases de datos con las cuales cuenta con el siguiente comando:
SHOW DATABASES;
Crearemos una segunda base de datos llamada nomina
Una vez creada la base de datos NOMINA, la seleccionaremos para poder crear en ella la tabla
empleado:
Una vez activada la base de datos NOMINA crearemos la tabla empleado indicando que no se
permitirn valores nulos para el atributo idempleado y que este mismo atributo es la llave
75

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

primaria. La clasula not null es obligatoria para los atributos que forman parte de una llave
primaria:
Create table empleado (
-> idempleado mediumint unsigned not null,
-> nombre varchar(20),
-> sueldo int unsigned,
-> primary key(idempleado));
Muestre una lista de las tablas existentes en la base de datos.
Muestre la descripcin de la tabla empleado.
Por ltimo muestre las bases de datos con las cuales cuenta.

CUESTIONARIO
REFERENCIAS

LISTA DE COTEJO PRCTICA 2


INDICADOR O
VARIABLE

DESCRIPCIN

CUMPLE
SI

NO

PORCENTAJE

ACTITUD (SER)
Puntualidad

Entrega del trabajo tiempo y forma establecida

10

CONOCIMIENTO (SABER)
Requisitos de
Informacin

Identifica correctamente todos los comandos


para realizar la prctica

40

HABILIDAD (SABER HACER)


Estructura

Aplica con la sintaxis correcta los comandos para


generar la prctica
TOTAL

40
100

EVALUACIN: LA AUSENCIA PARCIAL O TOTAL DE ALGN INCISO TENDR UNA PENALIZACIN ACORDE A LA
PUNTUACIN SEALADA EN CADA INCISO

OBSERVACIN:
EVALUADOR
(NOMBRE Y
FIRMA)

76

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.4 Prctica 3 Creacin, modificacin y eliminacin de una BD y de una tabla.


NOMBRE DE LA PRCTICA:
UNIDAD TEMTICA:
TEMA:
OBJETIVO DE LA PRCTICA:
TIEMPO DE LA PRCTICA:

Creacin, modificacin y eliminacin de una base de datos. Y de


una tabla.
Lenguaje de Definicin de Datos
Creacin, modificacin y eliminacin de una base de datos
El aprenda los conceptos bsicos de para la manipulacin de una
base de datos.

2 Hrs

FECHA:
DESCRIPCIN:

Utilice la base de datos creada en la prctica de la unidad V nomina y cree las tablas faltantes para
que su BD quede como siguiente:
Empleado

PK idEmpleado

Trabaja

Depto

mediumint

FK IdEmpleado

mediumint

Nombre

char (20)

FK IdDepto

mediumint

Sueldo

int

FechaIngreso

PK IdDepto
Depto

mediumint
char (20)

Date

MATERIALES Y EQUIPOS:
Computadora con programa MYSQL

PROCEDIMIENTO:
Entrar al monitor MySQL, escriba la instruccin: Mysql u root mysql
Cargue la base de datos nomina: USE nomina;
Muestres las tablas que tiene hasta ahora en su base de datos: SHOW TABLES;
Muestre la estructura de la tabla Empleado: DESCRIBE empleado;
Borre la tabla Empleado para definirla indicando que no se permitirn valores nulos para el atributo
idempleado y que este mismo atributo es la llave primaria. La clasula not null es obligatoria para los
atributos que forman parte de una llave primaria:
Create table empleado (
-> idempleado mediumint unsigned not null,
-> nombre varchar(20),
-> sueldo int unsigned,
-> primary key(idempleado));

77

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Genere las tablas faltantes (trabaja y Depto) de la siguiente manera:


CREATE TABLE Depto
(IdDepto mediumint primary key,
Depto char(20));
CREATE TABLE Trabaja
(FechaIngreso date,
IdEmpleado mediumint,
index(IdEmpleado),
foreign key (IdEmpleado) references Empleado(IdEmpleado),
IdDepto mediumint,
index(IdDepto),
foreign key (IdDepto) references Depto(IdDepto));
type=Innodb;
Utilice el comando SHOW TABLES; para visualizar las tablas que tiene ahora en su base de datos y el
comando DESCRIBE; para visualizar la estructura de las tablas creadas.
Ahora inserte datos a la tablas para que queden de la siguiente forma:
Empleado
IdEmpleado

Nombre

1 Juan Prez Prez

Departamento
Sueldo

IdDepto

10000

Depto

1 Compras

2 Pedro Maldonado Torres

5000

2 Ventas

3 Mara Torres Ortz

8500

3 Recursos Materiales

4 Carmen Salinas Jurez


5 Carlos Lpez Lpez

13100
9500

Trabaja
IdEmpleado

1
2
3
4
5

IdDepto

2
2
3
1
1

FechaIngreso

25-feb-10
14-may-08
10-ago-05
09-oct-11
04-dic-11

CUESTIONARIO
REFERENCIAS

78

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

LISTA DE COTEJO PRCTICA 3


INDICADOR O
VARIABLE

DESCRIPCIN

CUMPLE
SI

NO

PORCENTAJE

ACTITUD (SER)
Puntualidad

Entrega del trabajo tiempo y forma establecida

10

CONOCIMIENTO (SABER)
Requisitos de
Informacin

Identifica correctamente todos los comandos


para realizar la prctica

40

HABILIDAD (SABER HACER)


Estructura

Aplica con la sintaxis correcta los comandos para


generar la prctica
TOTAL

40
100

EVALUACIN: LA AUSENCIA PARCIAL O TOTAL DE ALGN INCISO TENDR UNA PENALIZACIN ACORDE A LA
PUNTUACIN SEALADA EN CADA INCISO

OBSERVACIN:
EVALUADOR
(NOMBRE Y
FIRMA)

79

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

6.5 Actividad 7 Modificacin de una tabla


INSTRUCCIONES
Crea la base de datos empresa y la tabla empleado
Campo
CLAVE
NOMBRE
SUELDO
Telefono

Tipo
CHAR
CHAR
INT
CHAR

Longitud
5
35
30

Realice las siguientes actividades:


1. Cambiar el nombre de la columna NOMBRE por el de NOM:
2. Cambiar el nombre y el tipo del campo CLAVE:
3. Agregar la columna el campo ANTIGEDAD de tipo entero:
4. Renombrar el nombre de la tabla EMPLEADO por el de VENDEDOR:
5. Eliminar una columna

INDICADOR O
VARIABLE

Puntualidad
Presentacin
Desarrollo

DESCRIPCIN
FORMA
Realiza la actividad en el tiempo establecido
por el profesor
CONTENIDO
Aplica los conceptos vistos en la unidad
Los resultados son los esperados
TOTAL

CUMPLE
S
NO

PORCENTAJE
25
20
55

100

80

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

UNIDAD TEMTICA 7 LENGUAJE DE MANIPULACIN DE DATOS


(SQL-DML)
Objetivo: El alumno realizar scripts utilizando el Lenguaje de Manipulacin de Datos (DML) para la
actualizacin y consulta de informacin.

Temas

Saber

Saber hacer

Consultas y vistas

Identificar las clusulas y


sintaxis del DML para la
generacin de consultas,
manejo de vistas y
operaciones con los datos
(select, view y funciones
de agregado).

Realizar consultas y vistas


de una base de datos con
SQL.

Instrucciones de
actualizacin

Identificar las clusulas y


sintaxis del DML para la
actualizacin de datos
(insert, delete, update).

Actualizar la BD mediante
SQL.

Ser
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Capaz de sintetizar
Analtico
Hbil para el trabajo en
equipo
Disciplinado
Sistemtico
Organizado
Proactivo
Capaz de sintetizar

Resultado de aprendizaje:
Elaborar un cuadernillo que contenga los scripts para generar:

Consultas con funciones de agregado.


Insercin, eliminacin y actualizacin de registros.
Creacin, modificacin y borrado de vistas.

7.1 Consultas Bsicas


Tcnicamente hablando, las consultas a la base de datos se realizan a travs de un lenguaje de
manipulacin de datos (DML Data Manipulation Language).
La consulta bsica en SQL es llamada
81

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

select from where


El bloque de consulta tiene la siguiente forma:
SELECT < lista de atributos>
FROM < lista de tablas>
WHERE <condicin>
A la hora de usar la instruccin Select, debemos tener en cuenta que:
sta instruccin no modifica la base de datos ni su contenido.
Todos los sistemas que usan SQL , tiene esta instruccin disponible.
La sintaxis mnima de Select es Select * from Tabla. from se utiliza para especificar cul de las
tablas es la que vamos a usar
Ejemplo:
Si deseamos seleccionar el contenido de las columnas nombre y apellido_paterno, de la tabla Personas
hacemos:

SELECT nombre, apellido_paterno FROM Personas;

Pero, si lo que necesitamos en seleccionar todas las columnas de la tabla persona, lo que escribimos es lo
siguiente:

SELECT * FROM Personas;

7.2 Clusula Insert.


Una vez creada la estructura de la base de datos, lo que sigue es poder insertar datos a las mismas tablas.
En SQL, hay fundamental y bsicamente dos formas para insertar datos en una tabla: Una es insertar una
fila por vez, y la otra es insertar filas mltiples por vez.
La sintaxis para insertar datos en una tabla mediante una fila por vez es la siguiente:
INSERT INTO "nombre_tabla" ("columna1", "columna2",...)
VALUES ("valor1", "valor2", ...)
Suponiendo que tenemos una tabla con la siguiente estructura,
Tabla Store_Information
82

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Column Name Data Type


store_name

char(50)

Sales

float

Date

datetime

y ahora deseamos insertar una fila adicional en la tabla que represente los datos de ventas para Los
ngeles el 10 de enero de 1999. En ese da, este negocio tena $900 dlares estadounidenses en ventas.
Por lo tanto, utilizaremos la siguiente escritura SQL:
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, '10-Jan-1999')
El segundo tipo de INSERT INTO nos permite insertar filas mltiples en una tabla. A diferencia del ejemplo
anterior, donde insertamos una nica fila al especificar sus valores para todas las columnas, ahora
utilizamos la instruccin SELECT para especificar los datos que deseamos insertar en la tabla. Si est
pensando si esto significa que est utilizando informacin de otra tabla, est en lo correcto. La sintaxis es
la siguiente:
INSERT INTO "tabla1" ("columna1", "columna2", ...)
SELECT "columna3", "columna4", ...
FROM "tabla2"
Note que esta es la forma ms simple. La instruccin entera puede contener fcilmente clusulas
WHERE, GROUP BY, y HAVING, as como tambin uniones y alias que se vern ms adelante.
Entonces por ejemplo, si deseamos tener una tabla Store_Information, que recolecte la informacin de
ventas para el ao 1998, y ya conoce en donde reside la fuente de datos en tabla Sales_Information
table, ingresaremos:
INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998
Aqu hemos utilizado la sintaxis de Servidor SQL para extraer la informacin anual por medio de una
fecha. Otras bases de datos relacionales pueden tener sintaxis diferentes. Por ejemplo, en Oracle,
utilizar to_char (date,'yyyy')=1998.

83

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

7.3 Clusula Update


Una vez que hay datos en la tabla, podramos tener la necesidad de modificar los mismos. Para hacerlo,
utilizamos el comando UPDATE. La sintaxis para esto es,
UPDATE "nombre_tabla"
SET "columna_1" = [nuevo valor]
WHERE {condicin}
Por ejemplo, digamos que actualmente tenemos la tabla a continuacin:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 05-Jan-1999
San Diego

250 07-Jan-1999

Los Angeles 300 08-Jan-1999


Boston

700 08-Jan-1999

y notamos que las ventas para Los ngeles el 08/01/1999 es realmente de 500 en vez de 300 dlares
estadounidenses, y que esa entrada en particular necesita actualizarse. Para hacerlo, utilizamos el
siguiente SQL:
UPDATE Store_Information
SET Sales = 500
WHERE store_name = "Los Angeles"
AND Date = "08-Jan-1999"
La tabla resultante se vera:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 05-Jan-1999
San Diego

250 07-Jan-1999

Los Angeles 500 08-Jan-1999


Boston

700 08-Jan-1999

84

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En este caso, hay slo una fila que satisface la condicin en la clusula WHERE. Si hay mltiples filas que
satisfacen la condicin, todas ellas se modificarn.
Tambin es posible UPDATE mltiples columnas al mismo tiempo. La sintaxis en este caso se vera como
la siguiente:
UPDATE "nombre_tabla"
SET colonne 1 = [[valor1], colonne 2 = [valor2]
WHERE {condicin}

7.4 Clusula Delete-From


A veces podemos desear deshacernos de los registros de una tabla. Para ello, utilizamos el comando
DELETE FROM. La sintaxis para esto es,
DELETE FROM "nombre_tabla"
WHERE {condicin}
Por ejemplo, digamos que actualmente tenemos la siguiente tabla:
Tabla Store_Information
store_name Sales Date
Los Angeles 1500 05-Jan-1999
San Diego

250 07-Jan-1999

Los Angeles 300 08-Jan-1999


Boston

700 08-Jan-1999

y decidimos no mantener ninguna informacin sobre Los ngeles en esta tabla. Para lograrlo, ingresamos
lo siguiente:
DELETE FROM Store_Information
WHERE store_name = "Los Angeles"
Ahora el contenido de la tabla se vera,
Tabla Store_Information
store_name Sales Date
San Diego

250 07-Jan-1999
85

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Boston

700 08-Jan-1999

7.5 Consultas Especializadas


7.5.1 La clusula SELECT
Una consulta es el mtodo para acceder a los datos en las bases de datos. Con las consultas se puede
modificar, borrar, mostrar y agregar datos en una base de datos. Para esto se utiliza un lenguaje de
consultas.
Una consulta SQL bsica puede constar con un mximo de seis clusulas, de las cuales slo dos son
obligatorias (SELECT y FROM). Las clusulas se especifican en el siguiente orden:

SELECT < lista de atributos >


FROM < lista de tablas >
WHERE < condicin >
GROUP BY < atributo(s) de agrupacin >
HAVING < condicin de agrupacin >
ORDER BY < lista de atributos >
Donde:
SELECT: indica qu atributos o funciones se van a recuperar.
FROM: especifica todas las relaciones (tablas) que se necesitan en la consulta.
WHERE: especifica las condiciones, si es que hacen falta, para seleccionar tuplas de esas relaciones,
incluyendo las condiciones de reunin.
GROUP BY: especifica atributos de agrupacin.
HAVING: especifica una condicin que deben cumplir los grupos seleccionados, no las tuplas individuales.
Las funciones agregadas integradas COUNT, SUM, MIN, MAX y AVG se usan junto con la agrupacin.
ORDER BY: especifica un orden para presentar el resultado de una consulta.
La Estructura tpica para las consultas SQL a bases de datos.

7.5.2 La orden From


From significa desde, con esta orden hacemos referencia a la tabla que vamos a usar, el formato seria
as:
Select * from tabla

86

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Con esto especificamos que seleccionamos (select) todos (*) desde la tabla, la tabla ser sustituida por el
nombre de nuestra tabla o base de datos, supongamos que tenemos una tabla llamada Clientes y que
dentro tenemos los datos de todos nuestros clientes, para poder hacer uso de ellas, haramos esto:
Select * From clientes
Lo que hemos hecho es seleccionar con el Select todos los registros (clientes) que tiene la base de datos,
pues le hemos puesto el asterisco (*) que significa que lo extraiga todo, o sea que extraiga todos los
clientes que tuviramos en ese momento dentro de la base de clientes, pues con el from le decimos que
de donde tiene que extraerlo todo es desde la base clientes.

7.5.3 La orden Where


Where significa donde y la usaremos para hacer referencia a algo en concreto dentro de un campo de
la base de datos (tabla).
Supongamos que tenemos la base de datos de clientes y la hemos seleccionado:
Select * from clientes
Esto como ya sabemos nos extrae a todos los clientes que en ese momento haya dentro de la base de
datos Clientes, pero y si nosotros quisiramos solo los que se llamasen por ejemplo JUAN, tendramos
que extraerlos todos y tener que comprobarlos uno a uno y ver como se llaman, pero con la clausula
Where no es necesario, pues lo hace por nosotros.
Where solo necesita dos parmetros, el nombre del campo donde tiene que buscar y lo que tiene que
buscar, lo dems lo hace sola.
Entonces, en nuestra base de datos Clientes, tendramos un campo que se llama Nombre y dentro de l,
estn los nombres de cada uno de los clientes en sus respectivas fichas.
Para sacar a aquellos que se llamasen JUAN, solo tendramos que hacer esto:
Select * from clientes where nombre='JUAN'
Puede ser que en vez de estas comillas ', sean comillas dobles ", o tambin que no use comillas, o sea
que ir el nombre directamente, esto depende del programa que estemos usando, pero no habr mas
problemas al respecto.

87

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Esta orden, lo que hace es extraer uno a uno todos los clientes e ir comprobando que en el campo
Nombre, se encuentre o no JUAN, si se encuentra, entonces lo seleccionar para mostrarlo despus, si
no estuviera dicho nombre entonces lo ignorara, como es obvio el ahorro de tiempo es muy grande.
Pero adems, la clausula Where tiene unos parmetros para hacer ms completo su uso:
SELECT * FROM clientes WHERE edad>=28 AND edad<=36
Esto selecciona todos los clientes con edades comprendidas entre los 28 y los 36 aos.
SELECT * FROM clientes WHERE provincia='MADRID' OR provincia='VALENCIA OR provincia=
'BARCELONA'
Esto selecciona todos los campos de la tabla 'clientes', pero los registros de todos los clientes de las
provincias de 'MADRID', 'VALENCIA' o 'BARCELONA'.
SELECT nombre, apellidos FROM clientes WHERE edad>=18
Esto selecciona los campos 'nombre' y 'apellidos' de la tabla clientes, escogiendo a aquellos clientes que
sean de mayor de edad.
SELECT * FROM clientes WHERE edad BETWEEN 18 AND 45
Esto selecciona todos los clientes con edades comprendidas entre los 18 y los 45 aos.
SELECT * FROM cuentas WHERE fecha=#7/1/97#
Esto selecciona los apuntes de 'cuentas' realizados el 1 de Julio de 1997 (la fecha ha de indicarse en
ingls (mes/da/ao)).
SELECT * FROM cuentas WHERE fecha BETWEEN #7/1/97# AND #7/31/97#
Selecciona los apuntes de 'diario' realizados en Julio de 1.997.
SELECT * FROM clientes WHERE nombre LIKE 'JU*'
Esto selecciona los clientes cuyo nombre comience con los caracteres 'JU'.
SELECT * FROM clientes WHERE apellidos LIKE '*AM'
Esto selecciona los clientes cuyos apellidos terminen con los caracteres 'AM'.
SELECT * FROM clientes WHERE apellidos LIKE '*GARCI*'
Esto selecciona los clientes cuyos apellidos contengan, en cualquier posicin, los caracteres 'GARCI'.
88

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

7.6 Funciones de Agregado de SQL


Las funciones de agregado realizan un clculo sobre un conjunto de valores y devuelven un solo valor. Si
exceptuamos la funcin COUNT, todas las funciones de agregado ignoran los valores NULL. Las funciones
de agregado se suelen utilizar con la clusula GROUP BY de la instruccin SELECT.
Todas las funciones de agregado son deterministas. Esto significa que las funciones de agregado
devuelven el mismo valor cada vez que se las llama con un conjunto especfico de valores de entrada.
Con las funciones de agregado de SQL, se pueden determinar varias estadsticas relacionadas con
conjuntos de valores. Estas funciones se pueden utilizar en las consultas, para agregar expresiones en la
propiedad SQL de un objeto QueryDef o al crear un objeto de conjunto de registros basado en una
consulta SQL.
Funcin Promedio (Avg)
Funcin Cuenta (Count)
Funciones Primero (First), ltimo (Last)
Funciones Mn (Min), Mx (Max)
Funciones DesvEst (StDev), DesvEstP (StDevP)
Funcin Suma (Sum)
Funciones Var, VarP.

7.6.1 Funcin Avg


Calcula la media aritmtica de un conjunto de valores de un campo numrico especfico de una consulta.
Ejemplo:
SELECT AVG(column_name) FROM table_name.

7.6.2 Funcin Count


Calcula el nmero de registros que devuelve una consulta.
SELECT COUNT(column_name) FROM table_name

89

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

7.6.3 Funciones First Y Last


Devuelve el primer valor o el ltimo del campo del conjunto de resultados devueltos por una consulta.
SELECT FIRST(column_name) FROM table_name
SELECT LAST(column_name) FROM table_name

7.6.4 Funciones Mn y Mx.


Devuelven el mnimo o el mximo de un conjunto de valores de un campo especificado en una consulta.
SELECT MIN(column_name) FROM table_name
SELECT MAX(column_name) FROM table_name

7.6.5 Funcin Sum.


Devuelve la suma de un conjunto de valores de un campo especfico de una consulta.
SELECT SUM(column_name) FROM table_name.

7.7 Clusula Having Y Group By.


Group by, combina los registros con valores idnticos, en la lista de campos especificados, en un nico
registro. Para cada registro se crea un valor sumario si se incluye una funcin SQL agregada, como por
ejemplo Sum o Count, en la instruccin SELECT. Su sintaxis es:
SELECT campos FROM tabla WHERE criterio GROUP BY campos_del_grupo
GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL agregada en la
instruccin SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante,
los valores Null no se evalan en ninguna de las funciones SQL agregadas.
Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la clusula HAVING para
filtrar los registros una vez agrupados.
A menos que contenga un dato Memo u Objeto OLE, un campo de la lista de campos GROUP BY puede
referirse a cualquier campo de las tablas que aparecen en la clusula FROM, incluso si el campo no sta
90

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

incluido en la instruccin SELECT, siempre y cuando la instruccin SELECT incluya al menos una funcin
SQL agregada.
Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP BY o como
argumentos
de
una
funcin
SQL
agregada.
Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la
clusula GROUP BY que satisfaga las condiciones de la clusula HAVING.
HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los registros se han
agrupado utilizando GROUP BY, HAVING determina cules de ellos se van a mostrar.
SELECT "nombre_columna 1", SUM("nombre_columna 2")
FROM "nombre_tabla"
GROUP BY "nombre_columna 1"
HAVING (condicin de funcin aritmtica)

7.8 Vistas en SQL


Muchas bases de datos relacionales que se utilizan en aplicaciones del mundo real tienen esquemas
complejos y formados por muchas tablas. En ocasiones, es conveniente que algunos grupos o perfiles de
usuarios tengan una vista parcial de ese esquema, o que tengan una visin de la misma con una
estructura diferente a la del esquema que realmente est almacenado. Precisamente para estos casos, el
lenguaje SQL permite definir vistas.
Una vista es esencialmente una consulta almacenada que devuelve un conjunto de resultados y a la que
se le pone un nombre. Una vista es una tabla virtual, aparece como una tabla ms del esquema,
aunque realmente no lo es.
La sintaxis general para crear una vista es la siguiente:
CREATE VIEW view_name [(column_list)] AS sentencia_select
La idea es muy simple, solamente le damos nombre (view_name) a una consulta. Opcionalmente, los
atributos de la relacin resultante de la sentencia_select pueden renombrarse mediante etiquetas en
column_list.
Un ejemplo
Tomemos como ejemplo una aplicacin muy simple de gestin de pedidos en un supermercado virtual. El
esquema relacional sera el que se muestra en la siguiente figura.

91

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En ese esquema, la informacin aparece descompuesta en tablas. Sin embargo, para un usuario en un
departamento de marketing, podra ser que le fuese ms til tener la informacin de las ventas de los
productos acumuladas, simplemente.
CREATE VIEW resumenproductos AS
select p.id, p.nombre, sum(cantidad) AS total
from producto as p, lineas_pedido as l
where (l.producto = p.id)
group by l.producto order by total desc
Despus de definir la vista, podremos utilizar resumenproductos como si fuese una tabla ms. Por
ejemplo la sentencia:
select * from resumenproductos
Nos devolver el resultado de la consulta que define la vista.
Como segundo ejemplo, puede que una persona en Contabilidad solamente necesite el resumen
econmico de los pedidos. En ese caso, podremos definir una vista como la siguiente utilizando una
subconsulta correlacionada:
CREATE VIEW resumenpedidos (usuario, nombre, pedido, fecha, total) AS SELECT c.usuario, c.nombre,
p.numpedido, p.fecha, (SELECT SUM(precio*cantidad) FROM LINEAS_PEDIDO as x WHERE (x.cliente =
p.cliente) and (x.pedido=p.numpedido))FROM CLIENTES as C, PEDIDOS as PWHERE p.cliente = c.usuario

El resultado sera como el siguiente:

92

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

usuario
agarcia
jlopez
jlopez

nombre
Ana Garcia
Juan Lopez
Juan Lopez

pedido
1
1
2

Fecha
2008-11-05
2008-02-10
2008-02-11

total
40
65
null

Ntese que cuando un pedido no tiene lneas asociadas, aparecer un nulo en la subconsulta. La consulta
puede hacerse tambin mediante agrupamiento con la siguiente consulta:
SELECT c.usuario, c.nombre, p.numpedido, p.fecha, sum(cantidad*precio)
FROM clientes as c, pedidos as p, lineas_pedido as l
WHERE (c.usuario = p.cliente) and (p.cliente = l.cliente) and (p.numpedido=l.pedido)
GROUP BY p.cliente, p.numpedido
En este caso se evita la aparicin de nulos, ya que la clusula GROUP BY no crear un subgrupo en el caso
de que no haya lneas de pedido.
Lgicamente, los beneficios de las vistas se obtienen al combinar su definicin con el sistema de permisos
del gestor de base de datos. Siguiendo el ejemplo, daramos permiso a los usuarios en Marketing sobre la
vista resumenproductos, y permisos a los usuarios de Contabilidad sobre resumenpedidos.
Dado que las vistas aparecen como tablas, pueden aparecer en otras consultas. Es importante tener esto
en cuenta cuando se estn diseando consultas, dado que puede afectar al rendimiento. Para ello,
algunos gestores de bases de datos tienen sintaxis extendidas para controlar cmo se representan
internamente las vistas.
Por ejemplo, MySQL tiene una clusula ALGORITHM que puede acompaarse de tres valores:
MERGE,TEMPTABLE o UNDEFINED, con el siguiente significado:

Con MERGE, el texto de las sentencias que hagan referencia a una vista se fusiona con el texto de
la definicin de la vista, de modo que las partes de la definicin de la vista reemplazan a las
partes correspondientes de la sentencia.
Con TEMPTABLE, los resultados de la vista se recuperan en una tabla temporal, que se usa
despus para ejecutar la consulta.

El uso de TEMPTABLE consume un espacio temporal adicional, pero puede tener un mejor rendimiento
ya que despus de hacer la copia de los datos en la tabla temporal, se usa sta y se libera la tabla o tabla

93

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

7.9 Actividad 8 Consultas y Creacin de vistas.


INSTRUCCIONES

Genere la base de datos Hospital


Paciente

Cat_Especialidad

REGP
001-A

Nombre
ANA LPEZ

Direccin
3 SUR 104

Telefono
2-98-76-89

REGES
1

Especialidad
Pediatra

002-D

2 ORTE 125

2-98-75-89

Dentista

003-J

DANIEL
GARCA
JUAN GMEZ

2-69-85-78

General

004-T

TOMS RUZ

16 OTIENTE
105
31 ORIENTE
174

2-96-85-74

Cardilogo

Medico
REGM
F01

NOM_D
LUIS RUIZ

DIR
3 SUR 102

TEL
2-36-25-14

REGES
2

J02

JORGE PREZ

3 ORTE 123

2-78-96-54

G03

OSCAR
GARCA
SONIA JUREZ

2 SUR 178

2-41-52-36

3 SUR 897

2-47-25-98

S04

Cat_Examenes

Examenes

REGE
1

TIPO
SANGUNEO

COSTO
450

RAYOS X

720

ULTRASONIDO

450

GENERAL

730

REGP

PEGE

REGM

001-A
002-D

4
2

F01
J02

003-J
004-T

3
4

G03
F01

Realice las siguientes actividades:


1. Construya sus tablas con llaves primarias y forneas
2. Inserta los registros indicados a las tablas correspondientes.
3. Realiza la siguientes consultas:
a) Despliega los datos del paciente cuya clave sea 003-J
b) Selecciona los nombres de los MDICOS cuyo nombre contenga la letra O y
ordena en forma ascendente.
c) Agrega 2 registros a la tabla exmenes.
d) Cul es el examen ms costoso?, asigna un alias para desplegar el resultado.
e) Cul es el promedio de los costos de los exmenes?
f) Elimina de la tabla EXMENES un registro.
94

BASE DE DATOS
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

g)
h)
i)
j)
k)

Modifica la direccin y el telfono del paciente se llame ANA LPEZ.


Qu costos de exmenes oscilan entre 400 y 500?
Cul es la suma total de los exmenes?
Genere una vista donde visualice el nombre del mdico y su especialidad.
Genere una vista donde muestre el nombre del paciente que exmenes le mando
a realizar que medico y su especialidad.

INDICADOR O
VARIABLE

Puntualidad
Presentacin
Desarrollo

CUMPLE
S
NO

DESCRIPCIN
FORMA
Realiza la actividad en el tiempo establecido
por el profesor
CONTENIDO
Aplica los conceptos vistos en la unidad
Los resultados son los esperados
TOTAL

PORCENTAJE
25
20
55

100

REFERENCIAS

ANEXOS

Anexo 1. Formato Requerimientos de Informacin.


Descripcin de Datos
Nombre
Nombre significativos que se
utilizan para tener una referencia
de cada elemento a travs del
proceso total de desarrollo de
sistemas.

Descripcin

Alias

Longitud

Valores

Representa el dato en el sistema

Un dato puede
conocerse con diferentes
nombres, El uso de los
alias deben evitar
confusin. Aqu se
registraran todos los
alias

Cantidad de
espacio que
necesita para cada
dato.

En algunos
proceso solo se
permiten valores
de datos
especficos

95

You might also like