Documente Academic
Documente Profesional
Documente Cultură
situacin.
explicados a continuacin
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
de consistencia.
de transacciones
la
Nivel de Vista:
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
a. Lgico
b. Fsico
c.
De Vista
MODELADO DE DATOS
Existen varios
Por
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
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
Lneas: que
relacin.
dni
Callecliente
Npmbrecliente
Callecliente
Nmer
o
Sal
do
Cueta
Cuenta
Cliente
fija.
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
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
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
entidad
De igual forma
Los
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.
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
12
va ha contener la
uno a muchos de
13
Modelado de Relaciones:
El
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
El caso
Otro ejemplo
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.
Dependencia de existencia:
La dependencia de existencia puede ser parcial o total.
de otras.
Las
Para
Detalles
Articulo
Cantidad
Descuento
15
Al momento de
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
un examen evaluativo de la
ESTUDIANTE
Cod_acudiente FK
Cod_estudiante PK
Nombre
Apellido
Direccin
Telfono
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
relacin de cardinalidad
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.
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
aplican.
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
situaciones de
La normalizacin busca
20
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
21
Las dependencias
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,
22
este hecho va ha
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
varchar2(5)
not null,
23
varchar(10),
jerarqua, por tanto se deben crear primero las tablas dominantes y posteriormente
las tablas subordinadas.
varchar2(13)
not null,
Nombre
varchar2(30
not null,
Direccin
varchar2(30)
Telfono
varchar2(8),
Edad
Acudiente
not null,
24
Cod_asignatura varchar2(5)
not null,
A_lec
varchar2(4)
not null,
S_lec
varchar2(1)
not nul,
Calificacion
varchar2(1)
not null,
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
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
la
no puedan ser
menores de 50.00
Trabajo Prctico
Muestre
atributos
que
pueden
tener
un
conjunto
de
atributos
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.
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
que el monto de
27
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
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
ha evolucionado y
su
definir
expresin SQ
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.....
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
sencillas y anidadas.
Las relaciones entre tablas no son ms que relaciones de integridad que ya hemos
mencionado.
Esta relaciones
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
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.
el nombre de la
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
33
el detalle de las cuentas que tiene cada banco, cuando la cuenta este
estatus = A
el nombre de la
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
35
f) AUTOEVALUACION
1.
From
c.
Having
From
e.
Having
3. Para distinguir dos campos que tienen el mismo nombre en una consulta,
usamos
a. Distinct
a.
Alias
b.
Where
36
b. In
c. Or
37
de las funciones:
SUM(), COUNT(),MAX,MIN.
Esta funciones trabajan relacionadas muy directamente a la funcin principal de
agrupamiento group by.
atributos especificados .
38
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.
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
consultas
Las subconsultas
complejidad.
Siguiendo el ejemplo de expuesto suponga
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
La clusula
In
funciona tambin
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
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
ejemplicar su uso.
5.2
f) Autoevaluacin.
43
8. Proyecto Final
El proyecto final tiene como objetivo primordial
quinta 4 semana. En esta fase de deben entregar, la descripcin del sistema, las
posibles
consideraciones
tomar
en
cuanta
en
el
anlisis,
los
posibles
fase se
44