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.
[Link] 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.
[Link] 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