Sunteți pe pagina 1din 44

UNIDAD 1. CONCEPTOS BASICOS DE BASES DE DATOS.

a) OBJETIVOS ESPECIFICOS: Reconocer las ventajas del uso de una base


de datos relacional.
b) Sntesis conceptual del contenido de la unidad.
Una base de datos es un conjunto de archivos creados de manera lgica y que
estn

diseados y relacionados para satisfacer necesidades especficas de una

situacin.

En este capitulo veremos algunas ventajas que presentan las bases de

datos sobre los sistemas de archivo.


Comparacin de las Base de Datos y los sistemas de archivo:
Los Sistemas de Base de Datos permiten administrar la informacin de las
organizaciones con algunas ventajas con respecto a algunos inconvenientes que
presentan los sistemas de archivo.
Las base de datos buscan evitar la repeticin de la informacin y prdida de la
integridad de los datos; adems de contar con mecanismo que brindan un alto
grado de seguridad.
Los conceptos

explicados a continuacin

son dificultades presentados con los

sistemas de archivo, pero que son muy bien manejados por las bases de datos.
Control de Redundancia e inconsistencia de los datos:
El hecho de que un archivo tenga informacin similar a la que existe en

otro

archivo, provoca duplicidad de informacin y aumenta la posibilidad de tener


informacin inconsistente dentro de la base de datos.

Por ejemplo: Un cliente

podra tener su nombre en un archivo de cuentas corrientes y tambin aparecer en


las cuentas de ahorro, es posible que las copias de los registros pertenecen a un
mismo clientes no coincidan. Estos errores provocan duplicidad e inconsistencia de
los datos respectivamente.
Datos Centralizados:
Las bases de datos nos permiten corregir el problema de tener informacin dispersa
en distintos archivos y con distintos formatos, evitando que se tenga que duplicar

y hasta triplicar los programas de aplicacin que cumplen la misma funcin;


provocando

un esfuerzo mayor en recursos tanto humano como tecnolgico,

adems de complicar el mantenimiento de los programas de aplicacin. Al tener la


informacin centralizada en una misma base de datos los distintos programas de
aplicacin van a leer la misma informacin.
Control en la Integridad de los datos:
Las integridades son las condiciones que garantizan la consistencia de los datos.
Por esto los datos almacenados en la base de datos necesitan satisfacer ciertas
relaciones

de consistencia.

Por Ejemplo: El saldo de una cuenta no puede ser

menor que una cantidad determinada.

Estas ligaduras pueden cumplirse en la

codificacin de los programas de aplicacin, pero esto se complica al aadir nuevas


ligaduras, ya que seria necesario contemplarlo en cada programa. A diferencia si
contemplamos estas integridades a nivel de las base de datos, cada programa de
aplicacin estara obligado a cumplirlas ya que se controlara por archivo y no por
aplicacin.
Control en los Problemas de Atomicidad:
Los fallos a los que estn sujetos los sistemas de computadora, implican que una
transaccin o conjunto

de transacciones

inconsistencias en los datos.

queden inconclusas, provocando

Para esta situacin la base de datos consideran el

concepto de atomicidad, es decir, una transaccin ocurre por completo o que no


ocurra en lo absoluto . Por ejemplo en la ejecucin del proceso de planilla un fallo
podra provocar que se aplicaran ciertos descuentos y otros no. En el ambiente de
datos Oracle se emplean dos conceptos para hacer cumplir la atomicidad. Cuando
un proceso se ejecute cada transaccin esta en uno de dos estado: guardo fsico o
guardado lgico. El guardado lgico implica que los cambios realizados en la base
de datos estn solo comprometidos, el

guardado fsico implica que los cambios

realizados en la base de datos son efectuados realmente y no se puede revocar las


actualizaciones. Cuando un registro esta en guardado lgico se puede restablecer a
su estado normal con la instruccin Rolback. Para que una actualizacin pase de
su estado lgico a su estado fsico se usa la instruccin commit. En ambiente Oracle
existen instrucciones que ejecutan implcitamente la instruccin commit.

A una transaccin no se le debe aplicar la instruccin commit hasta que se halla


ejecutado en su totalidad.
Control de los Problemas de Seguridad:
No todos los usuarios de un Sistema deben poder accesar todos los datos de la
organizacin para esta situacin es necesario clasificar los usuarios segn sus
jerarquas y necesidades, las bases de datos cuentan con mecanismos para
garantizar estos objetivos.
Visin de los Datos:
Un Sistema de Gestin de Base de datos

(SGBD) un sistema que permite crear y

manejar un conjunto de archivo; adems facilita que a travs de programas de


aplicacin los usuarios puedan acceder y dar mantenimiento a la informacin
existente en estos archivos.
El propsito principal de un sistema de base de datos es proporcionar a los usuarios
una visin abstracta de los datos, o sea que el sistema esconde al usuario el cmo
se almacenan y mantienen los datos en la base de datos.
Abstraccin de los Datos:
Existen tres niveles de abstraccin de datos que como se menciono ocultan al
usuario ciertos detalles de la base de datos y tambin permiten facilitan

la

representacin de los datos en la base de datos y la forma como los usuarios


manejan estos. Estos niveles son:
Nivel Fsico:

Es el nivel mas bajo de abstraccin y describe como se

almacenan realmente los datos. Aqu se describen las estructuras de datos


de bajo nivel.
En este nivel un registro cliente, cuenta o empleado se puede describir como
un bloque de posiciones almacenados consecutivamente (palabra, byte).
Nivel Lgico: Describe que datos se almacenan en la base de datos y que
relaciones existen entre esos datos.

Para el caso particular de Oracle se

definen los archivos con sus campos y tipos de campos.

Nivel de Vista:

El usuario de una base de datos debe acceder slo

informacin que necesita para realizar su trabajo. Aqu los usuarios ven un
conjunto de programas de aplicacin que esconden los detalles de los tipos
de datos y permiten manipular los datos de la base de datos.

Para

ejemplificar este nivel de abstraccin podemos referirnos al hecho de facturar


cuando realizamos una compra.

Independencia de los Datos:


La independencia de los datos es la capacidad de mantener una independencia
entre los niveles de datos, es decir, que si un nivel de datos se modifica en nivel
siguiente no se debe afectar. Existen dos independencia de este tipo:
Independencia Fsica:

Es la capacidad para modificar el esquema fsico sin

provocar que los programas de aplicacin

tengan que reescribirse, estas

modificaciones se realizan mas que todo por asuntos de rendimiento.


Independencia Lgica de Datos: Es la capacidad para modificar el esquema lgico
sin provocar que los programas de aplicacin tengan que reescribirse.
La independencia

de datos lgica es ms difcil de proporcionar que la

independencia de datos fsica, ya que los programas de aplicacin son fuertemente


dependientes de la estructura lgica de los archivos y datos que accedan.

c) Bibliografa Especfica Obligatoria.


Fundamentos de Bases de datos
Abraham Silberchatz.
Tercera Edicin.
McGraw Gill.
e)Actividades de aprendizaje
1.1 Investigacin: Las bases de datos cuentan con herramientas de desarrollo,
que permiten una mejor utilizacin de sus componentes
Mencione cuatro bases de datos con su software nativos para desarrollar
aplicaciones.
Mencione al menos dos ventajas al usar sus software nativos para
desarrollar aplicaciones.
Menciona cul es la base de datos ms utilizadas a nivel corporativo.
Los conceptos que se le solicitan investigar contribuyen y son necesarios para
reforzar su conocimiento en este curso. Adems de los trminos solicitados para
investigar debe agregar aquellos conceptos que no conoce o que desea ampliar.
1. Para cada uno de los conceptos explicados como ventajas de las bases de
datos, de un definicin de lo que usted a entendido de cada uno de ellos;
adems menciona al menos una consecuencia negativa relaciona a ellos.
f) Autoevaluacin
Encierre en un circulo la respuesta que usted considere apropiado.
1. Si su nombre se encuentra escrito tres veces en un sistema, podemos decir que
no encontramos con un problema de :
a. Integridad
b. Atomicidad
c. Duplicidad
2. Si en el momento en que se calcula su ndice se computa slo una parte de sus
calificaciones podemos decir que existe un problema de :
a. Integridad
b. Atomicidad
c. Duplicidad
3. Cuando la secretaria ingresa nuestras calificaciones al sistema, ella se encuentra
trabajando en el siguiente nivel.

a. Lgico
b. Fsico
c.

De Vista

4. Si su nombre se encuentra en un archivo escrito de una forma diferente a como


aparece en otro archivo sabemos que es un problema de:
a. Repeticin y atomicidad
b. Repeticin e integridad
c. Repeticin e inconsistencia.
5. Al momento de crear las tablas o archivos para la base de datos estamos
trabajando en el nivel :
a. De Vista
b. Fsico
c. Lgico.

UNIDAD. MODELADO DE DATOS Y MODELADO DE RELACIONES.


a) Objetivo Especifico:
Entender y aplicar conceptos bsicos sobre el modelado de datos y el
modelado de relaciones.
b) Sntesis conceptual del contenido de la unidad

El llevar procesos y procedimientos de las organizaciones , a un ambiente computarizado,


requiere de un estudio detallado de las distintas situaciones presentados en estos procesos y
procedimiento.

No es precisamente automatizar los procesos existentes, sino que incluye la

revisin de los procesos actuales con el fin de optimizar la operatividad de la organizacin.


Es a travs del anlisis y modelado de datos que establecemos los cimientos de un sistema
computacional.

En esta unidad veremos algunos conceptos que son de suma importancia al

momento de modelar y analizar datos.

MODELADO DE DATOS

Es una coleccin de herramientas conceptuales para describir los datos, las


relaciones entre ellas, la semntica de los datos y las ligaduras de consistencia.
Los modelos de datos generalmente se clasifican en tres grupos: Modelos lgicos
basados en objeto, modelos basados en registro y modelos fsicos.
Modelos lgicos basados en objetos:
Los modelos lgicos basados en objetos se usan para describir datos en los niveles
lgicos y de vista. Proporcionar capacidades estructurales muy flexibles y permiten
que las ligaduras de datos sean especificadas explcitamente.

Existen varios

modelos de este tipo pero nos limitaremos a estudiar al modelo Entidad-relacin


Modelo Entidad Relacin:
Esta basado en una percepcin del mundo real que consta de una coleccin de
objetos bsicos llamados entidad y de relaciones entre estos objetos bsicos. Una
entidad es una cosa u objeto en el mundo real que es distinguible de otro objeto y
que tiene atributos particulares que permitan describir sus caractersticas.

Por

ejemplo el objeto persona, el objeto cliente, etc. Tienen caractersticas (atributos)


distinguibles.

Los atributos del objeto cliente podran ser cedula, nombre, apellido, sexo. Por otro
lado una
relacin es una asociacin entre varias entidades. Por ejemplo, podemos tener la
entidad cliente que puede tener relacin con la entidad cuenta.

Cliente

Cuenta

Adems de entidades y relaciones el modelo entidad relacin representan ciertos


ligaduras que las bases de datos deben cumplir.

Entre estos podemos mencionar

las correspondencias de cordinalidad, que expresan el nmero de entidad con las


que otra entidad se puede asociar .
Si tenemos la entidad factura y la entidad detalle_factura, podemos decir que

aqu

se cumple una relacin uno a muchos de factura hacia detalle_factura, ya que una
factura puede tener muchos detalles.
Factura
Nmero
Clientes
Fecha
Pago

Detalle_Factura
Nmero
Articulo
Cantidad

Un diagrama entidad relacin se puede utilizar para representar de manera total


la estructura lgica de una base de datos.
Los componentes bsicos del diagrama entidad relacin
-

Rectngulo: Que representa el conjunto de entidades

Eclipses : Que representa atributos

Rombo: Representa relacin entre conjunto de entidades

Lneas: que

conecta los elementos que componen un diagrama entidad

relacin.

Veamos el esquema E-R para un cliente que tiene una cuenta.

dni

Callecliente

Npmbrecliente

Callecliente

Nmer
o

Sal
do

Cueta

Cuenta

Cliente

Modelos lgicos basados en registros:


Representan la estructura lgica completa de la base de datos, as como tambin
una descripcin de alto nivel de la implementacin.
Se llaman as debido a que la base de datos se estructura en registros de formato
fijo de diferentes tipos. En cada registro se define un nmero fijo de campos o
atributos y cada campo tiene una longitud

fija.

Entre estos modelos podemos

mencionar algunos: Modelo de Red, modelo Jerrquico y modelo relacional.


Para efectos del curso se estar desarrollando el modelado relacional. En este
modelo se usa una coleccin de tablas para representar tanto los datos como las
relaciones entre esos datos.
Trabajo prctico: Desarrolle una base de datos relacional utilizando las tablas de
factura y detalle factura.

Use como gua el ejemplo de la pgina 7 del libro

Fundamentos de Base ded Datos de Henry Korth.

Lenguaje de Base de Datos:


Para este aspecto se van a necesitar dos lenguajes.
Lenguaje de definicin de datos(LDD), permite expresar el esquema de la
base de datos. Este lenguaje crea un conjunto de archivos y los almacena en

los

diccionarios de datos
Lenguaje de manipulacin de datos : Son los lenguajes que permiten accesar o
manipular los datos existentes en las bases de datos.
Practica Prctico.
1. Realice el diagrama entidad relacin para las siguientes tablas: Estudiantes,
Asignaturas.
Coloque sus atributos
Establezca las relaciones
2. Para el diagrama entidad relacin construya su diccionario de datos.

10

2.3 Modelo Entidad Relacin:


Existen tres conceptos bsicos que emplea el modelo entidad relacin: conjunto de
entidades, conjunto de relaciones y atributos.
Conjunto de entidades: Como se ha explicado, una entidad tiene un conjunto de
propiedades y los valores de este conjunto de propiedades pueden identificar un
registro(entidad) de forma unvoca.

Por ejemplo, la cdula identifica de manera

nica a cada ciudadano en la repblica. Las entidades pueden ser una persona, un
libro, las entidades tambin pueden ser abstractas como unas vacaciones, un
prstamo, etc.
Un conjunto de entidades es la totalidad de la entidades del mismo tipo que
comparten las misma propiedades o atributos. El conjunto de todas las personas
que tienen cuenta en un banco serian el conjunto de las entidades cliente.

Las

extensiones individuales que constituyen un conjunto se llaman extensiones del


conjunto de entidades.
ALGUNOS TIPOS DE ATRIBUTOS
Definir los tipos de atributos es de suma importancia al momento de realizar el
anlisis de una situacin, ya que esta definicin permite establecer criterios que
afectan directamente el diseo final de la base de datos.
Un atributo en el modelo E-R puede ser clasificado como sigue:
Atributos Simples y Compuestos: Los atributos simples son aquellos que no
estn divididos en sub-partes.

Los atributos compuestos son aquellos que se

pueden dividir en subpartes, por ejemplo,

nombre, cdula. Los atributos

compuestos son ventajosos para una representacin mas clara de modelado,


pero son desventajosas al momento de consultar los datos.

Para el caso del

nombre podemos tener en la entidad simplemente el nombre, sin embargo


podemos subdividirlos en nombre y apellido. De igual forma la cdula puede
ser dividida en provincia, clase, tomo, folio.
Atributos Univalorados y Multivalorados: Los atributos univalorados son
aquellos que van a tener un solo valor

para una entidad.

Por ejemplo, el

nombre podra tener el valor Juan para una entidad, podra haber otro nombre,

11

tal vez Luis, pero sera para otra entidad. Los atributos multivalorados son
aquellos

que pueden tener un nmero variado de valores para una

entidad

especfica. Podemos citar la situacin de un asegurado que puede tener bajo su


condicin varios asegurados, como tambin puede que no tenga ninguno.
Los atributos Nulos o Requeridos: Son aquellos campos que pueden en un
momento determinado no tener valor dentro de la entidad.

De igual forma

existen atributos que obligatoriamente requieren tener valores dentro de la


entidad. Todos los campos que son llaves dentro de una entidad requieren valor.
Los atributos apartado, telfono pueden ser ejemplo de campos nulos.
Los atributos Derivados o Resultantes:
atributos

Los

valores de este tipo de

se pueden derivar de otros atributos o entidades, como ejemplo

podemos obtener el ITBM si conocemos el costo total de la factura, o la edad de


una persona que puede obtenerse si estuviramos su fecha de nacimiento.

Los

atributos derivados que sabemos forman parte del anlisis del sistema, no se
colocan en las entidades.
Identificacin de Llaves
Es importante distinguir en conjunto de entidades cada entidad.

Y para esto como

se ha explicado, es necesario identificar en cada entidad el atributo o los atributos


que

permiten distinguir cada registro, esta identificacin se conoce como llave

primaria.
Veamos la siguiente ilustracin
Cdula
02-423-13
03-45-15
09-00-189

Nombre
Juan Ros
Pedro Castro
Mario Daz

Edad
26
26
45

Direccin
Coln
Panam
San Jos

Al momento de seleccionar una llave para una entidad debemos estar seguro que
esta llave no se va ha repetir para

ningn registro en el conjunto de entidades. Si

12

escogiramos de los atributos de la ilustracin, descartaramos el atributo nombre


porque muchas personas podran tener el mismo nombre, al igual que la edad y la
direccin.
Sin lugar a duda la llave primaria sera la cdula ya que esta es una identificacin
nica para cada persona.
Una entidad A, puede tener un campo que es llave en otra entidad B, sin embargo,
puede que en la entidad B no sea llave, o sea llave en conjunto con otros atributos ,
o puede ser llave fornea, o puede que sea ambas llaves.
Una llave fornea es aquella que hace referencia a una llave primaria o llave nica
de otra entidad.
Ilustremos lo expuesto con los siguientes ejemplos:
Estudiante
(Cdula, Nombre, Fecha_nacimiento, Telfono)
Calificaciones
(Cdula, Cod_asignatura, Ao, Semestre, Calificacin)
En la tabla de estudiante la llave ser

la cdula, esta tabla

va ha contener la

informacin de todos los estudiantes, y cada estudiante tendr un solo registro en


esta tabla.
Al analizar la tabla de calificaciones, no podemos escoger la cdula como llave
primaria ya que la relacin entre estas entidades es de

uno a muchos de

estudiantes hacia calificaciones y esto ocasiona que en la tabla de estudiantes se


repita muchas veces la cdula de los estudiantes. Igual pasara si escogiramos la
asignatura como la llave primaria, ya que la asignatura podra ser dada por muchos
estudiantes as que sta se repetira.
Para asegurarnos una identificacin para la tabla Calificaciones debemos escoger
como llave los atributos Cdula y Asignatura.

13

Modelado de Relaciones:
El

modelado de relaciones representa la forma como las entidades interactan

entre ellas.
Correspondencia de cardinalidad:
Expresa el nmero de entidades a las que otra entidad puede estar asociada va
un conjunto de relaciones.
Las relaciones de cardinalidad que se explicarn sern de tipo binaria, y se detallan
a continuacin:
Uno a Uno: Es aquella en que una entidad A se asocia a lo mximo con una sola
entidad B.
La asociacin entre la Entidad Escuela ---------Director es un ejemplo de este
caso, este caso es aplicable a las escuelas pblicas tiene un solo un director y
estos a su vez pueden dirigir slo una escuela.
Uno a varios: Es aquella en que una entidad A se asocia con varias entidades A.
Y

la entidad B puede estar asociado exclusivamente a una entidad A.

contrario es la relacin Varios a Uno.


cheques que se le han pagado

La

El caso

relacin entre el empleado y los

es un ejemplo de esta situacin.

aplicable a esta situacin es la del estudiante

Otro ejemplo

y sus calificaciones, ya que un

estudiante puede tener muchas calificaciones.


Varios a Varios: Una entidad A
ellas muchas veces.

y una entidad B pueden estar asociadas entre

La relacin entre la entidad estudiante y la entidad Profesor

nos ilustra el caso.


La ilustracin de esta situacin es propicia para explicar una regla de anlisis, que
especifica que cuando existe una relacin muchos a muchos se genera una
nueva entidad.

Esta nueva entidad estar conformada por las llaves primarias

de las tablas relacionadas y los atributos que tiene estas entidades en comn.
Veamos un ejemplo:
Estudiantes
Cedula
Nombre

Profesor
Codigo
Nombre

14

Direccin
Telefono
Sexo
Fecha_Nacimiento

Direccin
Telefono
Sexo
Categora
Titulo.

Al aplicar la regla de cardinalidad debemos considerar en primera instancia


seleccionar las llaves primarias de las tablas involucradas que para este caso es la
cdula y el cdigo, entonces estos campos conformaran la llave de la tabla
resultante. Esta tabla tambin va ha contener los atributos que tiene las tablas en
comn, si analizamos un poco ms nos damos cuenta que los atributos en comn
de estas tablas puede ser asignatura, calificacin, ao, semestre.

Dependencia de existencia:
La dependencia de existencia puede ser parcial o total.

Las dependencia totales

son aquellas en las entidades dependen exclusivamente

de otras.

dependencias parciales son aquellas en puede que exista o no la relacin.

Las
Para

que exista una calificacin es necesario que exista un estudiante es un ejemplo de


dependencia total.

Como ejemplo dependencia parcial cita el caso del estudiantes

y su representante, ya que pueden ser sus padres o no.


Entidades dbiles y la Herencia de atributos
Esta situacin la analizaremos considerando un las entidades de facturas y detalla
facturas.
Facturas
Numero_Factura
Fecha
Cliente
T_Pago

Detalles
Articulo
Cantidad
Descuento

Podemos observar que en la tablas Detalle no existen atributos suficiente para


formar una llave primaria, ha este tipo de entidad se le conoce como entidad dbil,
estas entidades van entonces ha depender de la entidades fuertes a las que
estn asociadas o relacionadas.

15

Para estos casos es necesario identificar en las entidades dbiles un discriminante,


que es el atributo o conjunto de atributos que permites distinguir un grupo de
registro en la entidad.
Entonces la llave primaria de una entidad dbil esta formado por la llave primaria
de la entidad fuerte ms el discriminante de la entidad dbil.

Al momento de

escoger el discriminante debe ser un atributo representativo y estar seguros que


este atributo en conjunto con la entidad fuerte puede conformarme una llave
primaria para la entidad.

En este caso podemos escoger como discriminante.

Finalmente la entidad dbil queda as:


Detalles
Numero_Factura
Articulo
Cantidad
Descuento

Trabajo Prctico:
Realice la representacin de la entidad cuentas con los atributos que usted
considere necesarios y cuya entidad fuerte es bancos con la llave primaria cdigo
de banco

16

c) Bibliografa Especfica Obligatoria.


Fundamentos de base de datos.
Abraham Silberschatz
Tercera Edisin.
e) ACTIVIDADES DE APRENDIZAJE.
2.1 Antes de iniciar la primera unidad se realizar

un examen evaluativo de la

primera unidad, que incluye el contenido del temario, las investigaciones y el


trminos del vocabulario.
2.2

Al colocar los atributos a

la entidad estudiantes y calificaciones debe

considerar el tipo de relaciones que existe entre stas.

Para entenderlo mejor

lea el apartado de los tipos de cardinalidad.


2.3

Para los atributos que usted

considere , debe mencionar por qu los

considera de ese tipo y en qu entidad los podra colocar.


Ejemplo: La el sexo es un atributo simple, porque no se subdivide y se podra
colocar en la entidad estudiantes.
2.4 Las relaciones de cardinalidad deben ser ejemplificadas de la siguiente
manera
ACUDIENTE
Cod_acudiente PK
Nombre
Direccin

ESTUDIANTE
Cod_acudiente FK
Cod_estudiante PK
Nombre
Apellido
Direccin
Telfono

Debe aplicar el concepto de llave primaria.


Herencia de atributos
Llave fornea.

2.5 Colocar los atributos a cada entidad y las llaves forneas y primarias.; adems de los
atributos que se heredan.
2.6 Debe ejemplificar la situacin de cardinalidad entre una entidad fuerte y una entidad dbil.

17

AUTOEVALUACION
Encierre en un circula la letra que corresponda a la respuesta correcta.
1.Al establecer una relacin entre la tabla departamento

y la tabla empleados

podemos decir que existe una cardinalidad :


a. Uno a Uno
b. Muchos a Muchos
c. Uno a muchos
Explique su eleccin_______________________________________________________
__________________________________________________________________________
2. La relacin entre la entidad doctor y la entidad paciente es de tipo:
a. Uno a Uno
b. Muchos a Muchos
c. Uno a muchos
Explique su eleccin_______________________________________________________
_________________________________________________________________________
3. Si tenemos el seguro social y deseamos segregarlo, es un atributo:
a. Derivado
b. Simple
c. compuesto
4. Cual de los siguientes campos podra estar nulo en la entidad Paciente:
a. Edad.
b. Nombre
c. Direccin.
5. Al encontrar una

relacin de cardinalidad

muchos a muchos se produce la

siguiente situacin
a. Se elimina una de las dos entidades
b. Se crea una tabla nueva
c. Se provoca una atomicidad.
6. El elemento que identifica de manera nica una entidad es:
a. Llave Primaria
b. Llave fornea
c. Llave candidata.
7. El elemento que se heredad de una entidad fuerte a una entidad dbil se llama

18

a. Llave Primaria
b. Llave fornea
c. Llave candidata.
8. La llave que hace referencia desde una entidad dbil hacia una entidad fuerte
es:
a. Llave Primaria
b. Llave fornea
c. Llave candidata.
9. Si tengo el salario por hora y las horas trabaja, puedo obtener la cantidad a
pagar, estos atributos se le conoce como:
a. Multivalorados
b. Simples
c. Compuestos.
10.Si tengo la relacin entre la entidad sucursal y departamento, la entidad dbil
sera
a. Sucursal
b. Departamento
c. Ninguna de las dos.

19

III UNIDAD.

NORMALIZACION Y CREACION DE TABLAS.

a) Objetivo Especfico:
Comprender el anlisis y modelacin de datos, y su representacin en
una Base de Datos Relacional.
b) Sntesis Conceptual del contenido de la Unidad
Las tcnicas de normalizacin permiten optimizar el anlisis y diseo de datos para
la

realizacin de sistemas computacionales.

aplican.

En este apartado se explican y

Adems se usaran las caractersticas que permitan la creacin de una

base de datos con todos sus componentes de integridad.

NORMALIZACION.
La normalizacin es de suma importancia al momento de realizar el anlisis y
diseo de una situacin, para su posterior representacin en un esquema de base
de datos.
La normalizacin

permite

almacenar y representa complejas

situaciones de

usuario en estructuras de datos simples, estables y ms pequeas.


La normalizacin generalmente se lleva hasta su tercera forma normal, aunque
algunas veces se lleva hasta

su cuarta forma normal.

La normalizacin busca

reducir el espacio de almacenamiento y hacer ms fcil el manejo de los datos en


la base de datos.
Algunas veces cuando normalizamos algunas entidades, muy por el contrario de
reducir la repeticin de informacin lo que se haces es ocupar ms espacio de
almacenamiento.
Primera Forma Normal.
Consiste en la identificacin de una llave primaria y la eliminacin de los grupos
repetitivos.
Consideremos el siguiente ejemplo:
Estudiante(Cedula, nombre-estudiante, Direccin, telfono, calificacin, Asignatura,
Puntos
Ao, semestre, Edad, Acudiente, nombre_asignatura, cod_profesor,
nom_profesor)

20

Si le aplicamos las formas normales a esta entidad

nos damos cuenta que tiene

una serie de anomalas que necesitan ser corregidas para ser considera como
entidad correctamente normalizada.
Podramos iniciar ubicando la llave primaria y sacando los campos
asociados nicamente a esta llave, entonces quedaran

que estn

separado el resto de los

campos y la entidad estudiante como sigue:


Estudiantes(Cdula, Nombre-estudiante, Direccin, Telfono, Edad, Acudiente)
Podemos ver que la existe campos que estn asociados a la clave primaria pero que
tambin estn asociados a otros campos.
Materia(Cdula, Cod_asignatura, Puntos, Ao, Semestre, Nombre_asignatura,
cod_profesor, nom_profesor)
La llave primaria de estudiante se repite en la entidad materia, esto se debe a que
en la entidad materia no se cuenta con atributos suficiente para conformar una
llave primaria. Entonces se pasa la llave primaria de la entidad fuerte(dominante),
y esta conjuntamente con la asignatura conformaran la llave de la entidad
asignaturas_estudiantes, cod_asignatura, pero si consideraremos que el estudiante
puede repetir una asignatura entonces la llave debe incluir el ao y e semestre. En
este paso la entidad estudiante se encuentra normalizada, esto lo comprobamos
cuando le aplicamos las formas normales y esta las cumple.
Segunda Forma Normal:
Este forma normal elimina todas las dependencias parciales y se colocan en otra
relacin.
Una dependencia parcial es aquella en que uno o ms atributos dependen de una
parte de la llave. Para est ejemplo el nombre de la asignatura es dependiente del
cdigo de la asignatura que es parte de la llave, sin embargo no depende de la
cdula que es el otro elemento de la llave.
Al separar la asignatura quedara as:
Asignaturas (cod_asignaturas, nombre_asignatura)
Asignaturas_Estudiantes (Cedula, cod_asignatura, Ao, Semestre, Calificacin,
Puntos, cod_profesor, nom_profesor)

21

Observe que la llave primaria de asignaturas_estudiantes no se hereda en la tabla


Asiganturas, debido a que esta cuenta con

el criterio cdigo asignatura que es

suficiente para identificar un registro, siempre que se considere que el cdigo de la


asignatura nos e va a repetir.
En este punto la entidad original que tenamos se le ha aplicado la primera y
segunda forma normal y han resultado tres entidades.
1) Estudiantes(Cdula, Nombre-estudiante, Direccin, Telfono, Edad, Acudiente).
2) Asignaturas (Cod_asignaturas, nombre_asignatura).
3) Asignaturas_Astudiantes (Cedula, cod_asignatura, Ao, Semestre, Calificacin,
Puntos, cod_profesor, nom_profesor).
Tercera Forma Normal:
Se deben eliminar todas las dependencias transitorias.

Las dependencias

transitorias son aquellas en que un atributo no llave es dependiente de otro


atributo no llave.

Si consideramos que en el anlisis aparece el cdigo del

profesor y el nombre del profesor,

podemos ver que el nombre del profesor

depende del cdigo del profesor y el cdigo del profesor no es llave ni parte de
la llave. Entonces es necesario sacar este atributo junto al atributo relacionado
en una entidad aparte. Profesor (cod_profesor, nombre_profesor).
3)

Asignaturas_Astudiantes

(Cedula,

cod_asignatura,

Ao,

Semestre,

Calificacin, Puntos, cod_profesor)


4) Profesor(cod_profesor, nom_profesor).
Cuarta Forma Normal:
La dependencia funcional multivalorada es el fundamento para la FN4. Y tal
como se ha mencionado cuando se ubican atributos multivalorados en una
entidad, esto da como resultado una nueva entidad.
Estudiantes_Tesis
Cedula
Num_tesis
Tema
Area
Especialidad

22

El tema de la tesis puede ser cambiado en varias ocasiones,

este hecho va ha

depender del estudiante, por tanto no sabemos si el estudiante va ha cambiar uno,


dos o N cantidad de temas, esto provoca que se cree una tabla nueva.

Estudiantes_Tesi
s
Cedula
Num_tesis
Area
Especialidad

Tema
Num_Tesis
Tema
Estatus

De esta manera cada tesis esta asociada un tema y cuando veces el estudiante
cambie de tema no es necesario actualizar ni repetir el registro del la tabla
estudiante_tesis, sino que se actualiza en la tabla Tema.
Creacin de Tablas.
Investigacin.
Defina y ejemplifique los distintos tipos de datos empleados en Oracle.
Investigue otras formas de crear llaves primarias.
Recordemos que el texto y el contexto explicado anteriormente tiene como objetivo
la creacin del diseo de una base de datos, que permita la creacin de tablas con
relaciones de integridad que cumpla con las necesidades de las organizaciones.
En esta seccin veremos la creacin de distintos objetos de base de datos, que
permiten el manejo de informacin para una organizacin.
La creacin de una tabla no es ms que la representacin de una entidad y sus
relaciones en la base de datos. Esta compuesta por la siguiente instruccin
Create table nombre_tabla
(nombre_atributo

tipo_atributo(largo_atributo) requerido o no.

Creacin de la tabla Asignaturas.


Create table asignaturas
(cod_asignatura

varchar2(5)

not null,

23

Nombre_asignatura varchar2(30) not null,


Clave

varchar(10),

Constraint PK_asignatura primary key (cod_asignatura))


Observe que la sintaxis para la creacin de la llave que usamos es:
Constraint nombre_llave primary key(campos_llaves)).
Debemos mencionar que existen diferentes sintaxis para la creacin de tablas, al
igual que para la creacin de constraint, pero usaremos los expuestos por motivos
funcionales.
Para la creacin de relacin entre tablas es necesario usar las llaves forneas.
Cuando se crea un

conjunto de tablas recuerde que se mantiene la relacin de

jerarqua, por tanto se deben crear primero las tablas dominantes y posteriormente
las tablas subordinadas.

Si necesitamos borrar una tabla lo debemos hacer de

manera inversa , primero la tablas hijas y posteriormente las tablas padres.


La sintaxis para la creacin de llave fornea es:
Constraint nombre_llave foreign key(atributos_forneos)
References tabla_referenciada(campos_referenciados).
Veamos la explicacin con el ejemplo de la normalizacin.
Como ya creamos la tabla de asignatura, ahora crearemos la tabla de estudiantes.
Debe crear la llave primaria para esta tabla.
Create table estudiante
(Cedula

varchar2(13)

not null,

Nombre

varchar2(30

not null,

Direccin

varchar2(30)

Telfono

varchar2(8),

Edad

varchar2(2) not null,

Acudiente

varchar2(30) not null,

not null,

24

Ahora crearemos la tabla estudiantes_ asignatura que mantiene una relacin de


llave fornea:
Create table estudiantes_asignatura
(Cedula

varchar2(13) not null,

Cod_asignatura varchar2(5)

not null,

A_lec

varchar2(4)

not null,

S_lec

varchar2(1)

not nul,

Calificacion

varchar2(1)

not null,

Constraint pk_est_asig primary key (cedula, cod_asignatura),


Constraint fk_est foreign key (cedula) references estudiantes (cedula),
Constraint

fk_asig

foreign

key

(cod_asignatura)

references

asignaturas

(cod_asignatura)
Ligaduras de Integridad:
Bancos
Cod_banco

Cuentas
Cod_banco

Descripcin

N_cuenta
Monto_Inicial
Monto_actual
Fecha_apertura
estatus

Proporcionan un medio para asegurarse que las actualizaciones hechas a las base
de datos por los usuarios autorizados, no provoquen la prdida de la consistencia de
los datos
Ligaduras de Dominio:

25

Estas ligaduras van a determinar los valores que debe tener un campo, as como los
tipos, mscaras y formatos que llevarn.

Una definicin de

dominio no slo

permite verificar los valores introducidos en la base de datos, sino examinar


tambin r consultas.

Ilustrando la explicacin podemos citar el caso en que una

cuneta no se puede abrir con un monto menor a

B/. 100.00 , entonces el conjunto

dominio para el atributo monto seran todos los valores mayores B/. 100.00, Otro
ejemplo puede ser el estado de las cuentas que podran
Activa, Inactiva, y Congelada; entonces

estar en tres estado

el dominio del atributo condicin en la

tabla cuenta, seran los tres valores mencionados.


El lograr el cumplimiento de los dominios antes expuestos debe emplearse

la

instruccin check conjuntamente con la creacin del dominio.


Check(Monto_inicial >=50,00)
Este dominio est obligando que todos los monto de apertura

no puedan ser

menores de 50.00
Trabajo Prctico

Muestre

atributos

que

pueden

tener

un

conjunto

de

atributos

especficos que constituyen su dominio.

Investigue como determinar que todos los valores carcter se guarden


en mayscula.

26

Integridad Referencial
Esta integridad se da ms que todo a nivel de SQL con el uso de las instrucciones
de llaves primarias y llaves forneas.

Como ejemplo, no podemos tener un banco

en la tabla cuenta si este no se encuentra en la tabla de bancos.

Asertos:
Expresa una condicin que se desea que la base de datos satisfaga siempre. De
hecho la ligaduras de dominio y la integridad referencial son dos tipos de asertos,
pero existen muchas condiciones que

no se pueden determinar mediante estos

conceptos, por eso es necesario utilizar otro tipo de condiciones.


Un caso de estudio puede ser

que el monto de

un cheque debe ser menor al

monto en existencia de la cuenta.


Disparadores(Trigger):
Es una orden que el sistema ejecuta de forma automtica como efecto secundario
de la de la modificaciones de las bases de datos.
Para disear un mecanismo disparador es necesario cumplir dos requisitos:

Especificar las condiciones en que se va ha ejecutar el disparador.

Especificar las acciones que van ha ejecutarse cuando se ejecute el disparador.

27

c) Bibliografa Especfica Obligatoria.


Fundamentos de base de datos.
Abraham Silberschatz
Tercera Edisin.
d) Bibliografa Complementaria
Oracle Manual de Referencias
George Koch.
e)actividades de aprendizaje.
3.1 Tabla 1.

3.2

Automvil
Cod_propietario
Placa
Nombre_propietario
Modelo
Color
Ao
Destino_viaje
N_viaje
Cod_conductor
Costo
Cod_pasajero
Nombre_pasajero
Cod_conductor
Nombre_conductor
Telefono Propietario.
Una Universidad le ha pedido a usted que disee un sistema que le permita
llevar un control estadstico de todos los egresados. Realice un anlisis que
le permita a esta Universidad obtener informacin til.

3.3 El disquete que entregar, debe contener el scripts que se necesita para crear
las tablas que han resultado del anlisis hecho en la parte 2. Este actividad se
evaluar ejecutando el archivo de los scripts en la base de datos.

f) AUTOEVALUACIN.

28

Encierre en un circulo la letra que contiene la respuesta correcta.


1.

Si dentro de dentro de la tabla

encuentro que un atributo

depende slo de una parte de la tabla es una dependencia de tipo:


a. Transitoria
b. Total.
c. Parcial.
2.

Los atributos multivalorados estn relacionados con la forma

normal
a. Primera
b. Tercera
c. Cuarta
3. Al momento de crear un disparador debo saber:
a. Si falla una integridad
b. Si viola la llave primaria
c. El momento en que debe disparar.
4. Uno de los objetivos principales de la normalizacin es :
a. Duplicar la informacin
b. Aumentar la integridad
c. Facilitar el manejo de la informacin.
5. La integridad referencial en la normalizacin se da principalmente a travs
a. Los Dominios
b. Las llaves primarias y forneas
c. Los controles.

29

IV UNIDAD. CONCEPTOS BASICOS DE SQL.


a) Objetivo Especfico:
Reconocer

y utilizar las funciones

del lenguaje SQL, enfatizando en el

lenguaje SQL de Oracle.

b) Sntesis Conceptual del contenido de la asignatura.

La informacin que se encuentra almacenada en la base de datos requiere de


herramientas que permitan que pueda ser manipulada. Para este fin se utiliza el
lenguaje de manipulacin de datos S.Q.L. y las instrucciones bsicas que permiten
son manejo.
Historia del Lenguaje.
El lenguaje SQL aparece inicialmente en 1970 en los laboratorios de IBM, y fue
conocido con el nombre de Sequel, pero este lenguaje

ha evolucionado y

su

nombre cambi a SQL (Lenguaje Estructurado de consulta), actualmente numeroso


productos son compatibles con l.
Aunque el SQL se considera un lenguaje de
caractersticas, como por ejemplo:

definir

consulta, contiene muchas otras


las estructuras de los datos,

modificacin de los datos en la base de datos y para la definicin de las ligaduras


de seguridad.
Estructura Bsica
La estructura bsica de una

expresin SQ

consiste de tres clusulas:

select,

from, where
Select: Se utiliza para obtener los atributos deseados de una consulta.
From: Lista las relacin(es), que van ha estar involucradas en una consulta.
Where: Establece las condiciones que han de cumplirse al momento de hacer una
consulta, esta clusula es optativa, por tanto puede aparecer o no en una consulta.
La sintaxis de estas tres clusulas bsicas es :
select atributo1, atributo2, atributo3, atributon...
from Tabla1, Tabla2, Tabla1n....
where Condicin1

30

Condicin2
Condicinn.....

Usando el ejemplo de las tablas cuenta y banco se puede ilustrar lo expuesto:


1. Muestre el detalle de cada banco,
salida: codigo y nombre.
Select Codigo, Descripcion
From bancos.
2. Muestre el detalle cada cuenta.
Salida: Cod_banco, nmero_cuenta, monto_inicial
Select cod_banco, N_cuenta, monto_inicial.
From cuentas
Con estos dos ejemplos de expuestos hemos visto claramente el funcionamiento de
las instrucciones select y from .
Veamos como funciona la instruccin Where.
Suponga que desea obtener solamente detalle de las cuentas para el banco 01.
Entonces necesita condicionar en la clusula where por este valor para el cdigo
del banco
Select * from cuentas
Where cod_banco = 01
Esta consulta nos mostrara toda la informacin de las cuentas pero solamente
para el banco 01.

Usamos el comidin *, que nos permite seleccionar todos los

campos de una tabla. De igual forma pudimos haber hecho la siguiente consulta:
Select Cod_banco, N_cuenta, Monto_Inicial, Monto_actual ,Fecha_apertura
from cuentas
Where cod_banco = 01
El resultado sera el mismo.

31

Se usa el comodn cuando se desea obtener todos los detalles de una tabla, pero
no puede usarse cuando se desea consultar ms de una tabla.
Tambin puede usarse el comodn para escoger todos los campos de una tabla y
realizar una operacin matemtica sobre un campo especfico.
Ejemplo:
Seleccione todas las cuentas que estn activas y muestre el 5% del monto actual de
cada una.
Select *, (monto_actual *.05)
From cuentas
Where estatus = A

Investigacin:

Explique y ejemplifique

el uso de las instrucciones AND y OR en formato

sencillas y anidadas.

Explique y ejemplifique de las clusulas IN y BETWEEN.

Establecer Relacin entre varias tablas:


Nota: Esta investigacin est detallada en la descripcin de las actividades.

Las relaciones entre tablas no son ms que relaciones de integridad que ya hemos
mencionado.
Esta relaciones

se establecen generalmente entre las llaves de las tablas,

especficamente de la llave primaria a la llave fornea.

Esto no indica que no

se puedan establecer relaciones entre campos que sean no llave, pero si deben ser
del mismo tipo o deben ser convertidos a campos del mismo tipo.
Como convertir un campo a un tipo determinado:
Para

realizar

esta

operacin

usamos

las

instruccin:

to_char(campo),

to_date(campo), to number(campo).
Seleccin el detalle de los bancos, mostrando el cdigo el banco como un campo
numrico
Select to_number(cod_banco), descripcin
From bancos.

32

Para establecer la relacin entre la tabla bancos y la tabla cuenta, vemos


claramente que tienen un atributo que es llave primaria en una tabla y llave fornea
en la otra, el campo cod_banco, entonces podemos usar este campo para
establecer la relacin, y deducimos que la relacin entre dos tablas generalmente
se establece entre los campos llaves.
Muestre

el detalle de las cuentas que tiene cada banco: Nombre_banco ,

nmero_cuenta, monto_actual.
Observe que es necesario usar ambas tablas para poder realizar la consulta ya que
el en nombre del banco no se encuentra en la tabla cuenta, y los campos
nmero_cuenta y monto_actual no se encuentran en la tabla banco.
Veamos la relacin
Select descripcion, N_cuenta, Monto_actual
From bancos, cuentas
Where cod_banco = cod_banco.
Para efectos del ejemplo la relacin est bien establecida, pero funcionalmente no
es correcta ya que el lenguaje se confunde al encontrarse con el cdigo de banco ya
que este atributo existe en ambas tablas, entonces es necesario especificar de que
tabla es cada atributo cuando el atributo se encuentra en ms de una tablas que
intervienen en la consulta.

Podemos lograr esto colocando

el nombre de la

entidad al lado izquierdo de cada atributo separndolo con un punto.


Select descripcion, N_cuenta, Monto_actual
From bancos, cuentas
Where bancos.cod_banco = cuentas.cod_banco.
Este ejemplo es correcto, pero no es prctico al momento de realizar la consulta, ya
que resultara tedioso escribir el nombre de cada entidad.

Podemos utilizar el

concepto de los alias para diferenciar los campos de cada tabla y disminuir
esfuerzo al escribir n la consulta y eficiencia al momento de consultar la misma.
Los alias

son sinnimos temporales(dentro de la consulta) para cada tabla y como

se mencion anteriormente, se declaran colocndolo a la derecha de cada tabla


separada por un espacio y la izquierda de cada atributo separada por punto.

33

Select descripcion, N_cuenta, Monto_actual


From bancos a, cuentas b
Where a.cod_banco = b.cod_banco.

Podemos realizar consultas que implican un poco mas de complejidad en el where,


pero que si estudiamos detenidamente nos damos cuenta que es sucesin lgica
de lo que sabemos.
Muestre

el detalle de las cuentas que tiene cada banco, cuando la cuenta este

activa y tenga un monto_actual mayor que B/. 100.000.00


Select descripcion nombre, N_cuenta cuenta, Monto_actual Monto
From bancos a, cuentas b
Where a.cod_banco = b.cod_banco.
And

estatus = A

And monto_actual >= 100000


Observe que hemos introducido un concepto nuevo que es el renombramiento de
los atributos, esto podemos hacerlo con el fin de no aparezca

el nombre de la

columna como est en la base de datos sino el que nosotros le especifiquemos.

34

c)Bibliografa
Apliqe SQL
James R Groff, Paul N Weinberg
Mc Graw Hill
d)Bibliografa Complementaria
Fundamentos de Bases de datos
Abraham Silberchatz.
Tercera Edicin.
McGraw Gill.
Manual de Referencia Oracle
George Koch.

e) Actividades de Aprendizaje
Departamento
Cod_departamento
Nombre
Cedula_jefe

Empleado
Departamento
Cedula
Nombre
Salario
Estatus

4.1
1. En basado en las tablas de departamentos y empleados, realice los siguientes
SQL.
a) Muestre el detalle de cada departamento.
Salida: Cod_departamento Nombre
b. Seleccione el detalle solamente para el departamento 21.
Salida: Cod_departamento Nombre
c. Seleccione el detalle de cada empleado para los empleados activos.
Salida: Departamento Cedula Nombre Salario
d. Muestre el detalle de todos los empleados que pertenecen al departamento 15.
Salida: Departamento Cedula Nombre Salario
e. Seleccione los empleados del departamento 21 que ganan ms de 500. dlares.
Salida: Departamento Cedula Nombre Salario
4.2

Al realizar la investigacin de la pgina 36 sobre las clusulas IN y Between

debe realizar los siguientes SQL.

35

a) Muestre el detalle de los empleados que estan activos o de licencia (Activos =


A, Licencias = L). In.
Salida: Departamento Cedula Nombre Salario
b) Muestre el detalle de aquellos empleados que gana entre 500 y 800 dlares.
Between
Salida: Departamento Cedula Nombre Salario

f) AUTOEVALUACION
1.

Para que una consulta nos muestre solamente la cuenta

47, debemos emplear la instruccin:


a. Where
b.

From

c.

Having

2. Para escoger dos tablas en una consulta debemos especificarlas en la clusula


a. Where
d.

From

e.

Having

3. Para distinguir dos campos que tienen el mismo nombre en una consulta,
usamos
a. Distinct
a.

Alias

b.

Where

4. Para establecer las relaciones entre dos tablas debemos relacionar:


a. Llave primarias y llaves primarias
b. Llaves primarias y llaves fornesa
c. Llaves forneas y llaves forneas.
5. Si deseo consultar slo las cuentas 001 y 005, debemos usar la instruccin :
a. Between
b. In
c. Or
6. Si deseo obtener las cuentas que tienen un monto inicial en un rango de 100.00
a 1000.00 debemos emplear la instruccin
a. Between

36

b. In
c. Or

37

V UNIDAD. FUNCIONES Y VISTAS LOGICAS.


a) Objetivo Especfico :
Practicar el uso de funciones avanzadas del SQL
b) Sntesis Conceptual del contenido de la asignatura.
Adems de realizar

consultas sencillas, el SQL es la herramienta por excelencia

para realizar consultas complejas o con detalle especiales al momento de brindar


informacin.
Las funciones

Estudiaremos algunas funciones avanzadas en el del SQL.


nos

permiten elaborar consultas

que tienen un grado de

complejidad considerable, aunque tambin son usadas para realizar cualquier


consulta de manera ms sencilla.

Por su parte las vistas lgicas permitenobtener

resultados de varias tablas en una sla adems de brindar niveles de seguridad al


permitir slo consultar la informacin.
Funciones de grupo:
Las funcione de grupos permiten realizar operaciones sobre un grupo de datos, son
mltiples las funciones existentes pero veremos los ejemplos

de las funciones:

SUM(), COUNT(),MAX,MIN.
Esta funciones trabajan relacionadas muy directamente a la funcin principal de
agrupamiento group by.

La cual agrupa una cantidad de valores de acuerdo a

atributos especificados .

38

Usaremos las tabla para ejemplificar las funciones de grupo


Cod_banco
01
02
03

Bancos
Descripcion
Nacional
Extranjero
Popular

Cod_banc N_cuentas

Cuentas
Monto_inicia Monto_actua Fecha_ap

o
01
01
01
03
02
03
03
02
01

l
4550.00
550.00
4550.00
5250.00
789.00
7892.00
789.00
897.00
1245.00

0012
0015
0013
0059
0508
0023
0021
0054
0004

l
20.00
220.00
20.00
180.00
154.00
178.00
210.00
56.00
160.00

23/01/2002
13/02/2002
23/01/2002
20/02/2001
25/06/2001
30/02/2002
25/02/2002
20/02/2002
20/03/2001

La orden group by se omite con las funciones de grupo cuando se quiere obtener
todos los registros de la tabla, suponga que usted desea contar cuantos bancos
existen.

Definitivamente necesitamos usar la instruccin, la consulta sera como

sigue:
Select count(*) from bancos.
De igual manera si necesitamos saber cuantas cuentas existe, basta con escribir la
sentencia bsica: Select count(*) from cuentas.
Pero si quisiramos saber cuantos cuentas tiene cada bancos, requerimos usar la
sentencia group, de la siguiente manera:
Select cod_banco, count(*) from cuentas
Group by cod_bancos.
Esta consulta mostrara cada banco con el total de cuentas que tiene, para nuestro
ejemplo la salida sera como sigue:
Cod count(*)
01

02

39

Los ejemplos expuestos de funciones de grupo

son aplicables a cualquier

instruccin de agrupamiento, tales como average, promedios, etc.


Subconsultas:
Las subcolsulta son la descomposicin de consultas en porciones ms pequeas,
pero que al final generan los resultas de manera conjunta.
tambin son

usadas para realizar

consultas

Las subconsultas

que tienen un nivel alto de

complejidad.
Siguiendo el ejemplo de expuesto suponga

que desea obtener aquellas cuentas

que tienen un monto inicial mayor que el de la cuenta 0050, entonces realizamos
la consulta de esta forma:
Select Cod_banco, n_cuenta, monto_inicial
From cuentas
Where

monto_inicial > (select monto_inicial


From cuentas
Where n_cuenta = 0050).

La clusula

In

funciona tambin

como un tipo de subconsulta, veamos un

ejemplo.
Muestre todos los bancos que tiene un monto_actual menor de 100.00
Select cod_banco, descripcin
From bancos
Where cod_banco IN (select cod_banco
From cuentas
Where monto_actua < 100.00).
La clausula Exists

es otro ejemplo de subconsulta, y podemos ilustrarla con el

mismo ejemplo aterior.


Muestre todos los bancos que tiene un monto_actual menor de 100.00
Select cod_banco, descripcin
From bancos
Where cod_banco exists (select cod_banco
From cuentas
Where monto_actua < 100.00).

40

41

Investigacin:
Defina y ejemplifique el uso de cada una de las siguientes instrucciones:
Having
Creacin de vistas
Clausula Like
Utilizacin de Instrucciones para actualizar, modificar y borrar registro de la base
de datos.

42

c) Bibliografa Especifica
Apliqe SQL
James R Groff, Paul N Weinberg
Mc Graw Hill
d) Bibliografa Complementaria
Manual de Referencia Oracle
George Koch.
Fundamentos de Bases de datos
Abraham Silberchatz.
Tercera Edicin.
McGraw Gill.
e) Actividades de aprendizaje.
e

5.1

Para la investigacin asignada debe describir textualmente cada concepto y adems

ejemplicar su uso.
5.2

Selecciones todas aquellas cuentas que iniciaron con el mismo monto.

Selecciones todos aquellos bancos que no tiene cuenta.

Seleccione todos los bancos que tienen ms de una cuenta.

Seleccione los bancos que tienen un monto total mayor de 10000.

f) Autoevaluacin.

43

8. Proyecto Final
El proyecto final tiene como objetivo primordial

practicar y desarrollar los

conocimientos adquiridos a travs del curso.


Para este propsito se ha seccionado el desarrollo del mismo en fases, ya que de
esta manera se puede dar un mejor apoyo y seguimiento al mismo. El estudiante
deber hacer un esfuerzo para realizar este proyecto

lo ms real posible, ya que

redundar en beneficio de su formacin profesional.


Cada estudiante deber presentar un caso de estudio, o situacin que requiera de
un anlisis para desarrollar un sistema.

Esta primera fase se presentar al

profesor, el cul deber considerar si es funcional o no trabajar est situacin como


tema de proyecto.

La fecha limite para la presentacin de esta parte es hasta la

quinta 4 semana. En esta fase de deben entregar, la descripcin del sistema, las
posibles

consideraciones

tomar

en

cuanta

en

el

anlisis,

los

posibles

La segunda fase consiste en realizar la modelacin del sistema, en esta

fase se

inconvenientes, y el alcance del sistema.

debe presentar el diagrama relacional en su estado fsico, el diccionario de datos,


las llaves de cada entidad y los scripts necesarios para crear estas tablas en la base
de datos.
Esta presentacin es slo en papel, y deben ser evaluadas por el profesor para su
posterior ejecucin en la base de datos. La fechas mxima para la presentacin de
esta fase es hasta la 9 semana
La tercera fase es la presentacin formal del proyecto y debe ser entregado un
disquete con los scripts que ejecutan las tablas. La evaluacin se har ejecutando
el archivo de los script

sobre la base de datos. Es necesario entregar tambin

los scripts que insertan, modifican y borran informacin de la bases de datos. La


semana antes del examen final es la fecha para entregar este proyecto.

44

S-ar putea să vă placă și