conceptos basicos sobre base de datos

54
UNIDAD 1. CONCEPTOS BASICOS DE BASES DE DATOS. a) OBJETIVOS ESPECIFICOS: Reconocer las ventajas del uso de una base de datos relacional. b) Síntesis conceptual del contenido de la unidad. Una base de datos es un conjunto de archivos creados de manera lógica y que están diseñados y relacionados para satisfacer necesidades específicas de una situación. En este capitulo veremos algunas ventajas que presentan las bases de datos sobre los sistemas de archivo. Comparación de las Base de Datos y los sistemas de archivo: Los Sistemas de Base de Datos permiten administrar la información de las organizaciones con algunas ventajas con respecto a algunos inconvenientes que presentan los sistemas de archivo. Las base de datos buscan evitar la repetición de la información y pérdida de la integridad de los datos; además de contar con mecanismo que brindan un alto grado de seguridad. Los conceptos explicados a continuación 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 información similar a la que existe en otro archivo, provoca duplicidad de información y aumenta la posibilidad de tener información inconsistente dentro de la base de datos. Por ejemplo: Un cliente podría tener su nombre en un archivo 1

Upload: eric-caleb-sanchez

Post on 15-Dec-2015

14 views

Category:

Documents


2 download

DESCRIPTION

presenta elcontenido introductoria a base de datos

TRANSCRIPT

Page 1: Conceptos Basicos Sobre Base de Datos

UNIDAD 1. CONCEPTOS BASICOS DE BASES DE DATOS.

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

de datos relacional.

b) Síntesis conceptual del contenido de la unidad.

Una base de datos es un conjunto de archivos creados de manera lógica y que

están diseñados y relacionados para satisfacer necesidades específicas de una

situación. En este capitulo veremos algunas ventajas que presentan las bases de

datos sobre los sistemas de archivo.

Comparación de las Base de Datos y los sistemas de archivo:

Los Sistemas de Base de Datos permiten administrar la información de las

organizaciones con algunas ventajas con respecto a algunos inconvenientes que

presentan los sistemas de archivo.

Las base de datos buscan evitar la repetición de la información y pérdida de la

integridad de los datos; además de contar con mecanismo que brindan un alto

grado de seguridad.

Los conceptos explicados a continuación 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 información similar a la que existe en otro

archivo, provoca duplicidad de información y aumenta la posibilidad de tener

información inconsistente dentro de la base de datos. Por ejemplo: Un cliente

podría tener su nombre en un archivo de cuentas corrientes y también 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 información dispersa

en distintos archivos y con distintos formatos, evitando que se tenga que duplicar

1

Page 2: Conceptos Basicos Sobre Base de Datos

y hasta triplicar los programas de aplicación que cumplen la misma función;

provocando un esfuerzo mayor en recursos tanto humano como tecnológico,

además de complicar el mantenimiento de los programas de aplicación. Al tener la

información centralizada en una misma base de datos los distintos programas de

aplicación van a leer la misma información.

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

codificación de los programas de aplicación, pero esto se complica al añadir 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

aplicación estaría obligado a cumplirlas ya que se controlaría por archivo y no por

aplicación.

Control en los Problemas de Atomicidad:

Los fallos a los que están sujetos los sistemas de computadora, implican que una

transacción o conjunto de transacciones queden inconclusas, provocando

inconsistencias en los datos. Para esta situación la base de datos consideran el

concepto de atomicidad, es decir, una transacción ocurre por completo o que no

ocurra en lo absoluto . Por ejemplo en la ejecución del proceso de planilla un fallo

podría 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 transacción esta en uno de dos estado: guardo físico o

guardado lógico. El guardado lógico implica que los cambios realizados en la base

de datos están solo comprometidos, el guardado físico 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 lógico se puede restablecer a

su estado normal con la instrucción Rolback. Para que una actualización pase de

su estado lógico a su estado físico se usa la instrucción commit. En ambiente Oracle

existen instrucciones que ejecutan implícitamente la instrucción commit.

2

Page 3: Conceptos Basicos Sobre Base de Datos

A una transacción no se le debe aplicar la instrucción 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

organización para esta situación es necesario clasificar los usuarios según sus

jerarquías y necesidades, las bases de datos cuentan con mecanismos para

garantizar estos objetivos.

Visión de los Datos:

Un Sistema de Gestión de Base de datos (SGBD) un sistema que permite crear y

manejar un conjunto de archivo; además facilita que a través de programas de

aplicación los usuarios puedan acceder y dar mantenimiento a la información

existente en estos archivos.

El propósito principal de un sistema de base de datos es proporcionar a los usuarios

una visión abstracta de los datos, o sea que el sistema esconde al usuario el cómo

se almacenan y mantienen los datos en la base de datos.

Abstracción de los Datos:

Existen tres niveles de abstracción de datos que como se menciono ocultan al

usuario ciertos detalles de la base de datos y también permiten facilitan la

representación de los datos en la base de datos y la forma como los usuarios

manejan estos. Estos niveles son:

Nivel Físico: Es el nivel mas bajo de abstracción 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 Lógico: 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.

3

Page 4: Conceptos Basicos Sobre Base de Datos

Nivel de Vista: El usuario de una base de datos debe acceder sólo

información que necesita para realizar su trabajo. Aquí los usuarios ven un

conjunto de programas de aplicación que esconden los detalles de los tipos

de datos y permiten manipular los datos de la base de datos. Para

ejemplificar este nivel de abstracción 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 Física: Es la capacidad para modificar el esquema físico sin

provocar que los programas de aplicación tengan que reescribirse, estas

modificaciones se realizan mas que todo por asuntos de rendimiento.

Independencia Lógica de Datos: Es la capacidad para modificar el esquema lógico

sin provocar que los programas de aplicación tengan que reescribirse.

La independencia de datos lógica es más difícil de proporcionar que la

independencia de datos física, ya que los programas de aplicación son fuertemente

dependientes de la estructura lógica de los archivos y datos que accedan.

4

Page 5: Conceptos Basicos Sobre Base de Datos

c) Bibliografía Específica Obligatoria.

Fundamentos de Bases de datos

Abraham Silberchatz.

Tercera Edición.

McGraw Gill.

e)Actividades de aprendizaje

1.1 Investigación: Las bases de datos cuentan con herramientas de desarrollo, que permiten una mejor utilización 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 cuál es la base de datos más utilizadas a nivel corporativo.

Los conceptos que se le solicitan investigar contribuyen y son necesarios para reforzar su conocimiento en este curso. Además de los términos 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 definición de lo que usted a entendido de cada uno de ellos;

además menciona al menos una consecuencia negativa relaciona a ellos.

f) Autoevaluación

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 sólo 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.

5

Page 6: Conceptos Basicos Sobre Base de Datos

a. Lógico

b. Físico

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. Repetición y atomicidad

b. Repetición e integridad

c. Repetición 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. Físico

c. Lógico.

6

Page 7: Conceptos Basicos Sobre Base de Datos

UNIDAD. MODELADO DE DATOS Y MODELADO DE RELACIONES.

a) Objetivo Especifico:

Entender y aplicar conceptos básicos sobre el modelado de datos y el

modelado de relaciones.

b) Síntesis 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

revisión de los procesos actuales con el fin de optimizar la operatividad de la organización.

Es a través del análisis 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 DATOSEs una colección de herramientas conceptuales para describir los datos, las

relaciones entre ellas, la semántica de los datos y las ligaduras de consistencia.

Los modelos de datos generalmente se clasifican en tres grupos: Modelos lógicos

basados en objeto, modelos basados en registro y modelos físicos.

Modelos lógicos basados en objetos:

Los modelos lógicos basados en objetos se usan para describir datos en los niveles

lógicos y de vista. Proporcionar capacidades estructurales muy flexibles y permiten

que las ligaduras de datos sean especificadas explícitamente. Existen varios

modelos de este tipo pero nos limitaremos a estudiar al modelo Entidad-relación

Modelo Entidad Relación:

Esta basado en una percepción del mundo real que consta de una colección de

objetos básicos llamados entidad y de relaciones entre estos objetos básicos. 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 características. Por

ejemplo el objeto persona, el objeto cliente, etc. Tienen características (atributos)

distinguibles.

7

Page 8: Conceptos Basicos Sobre Base de Datos

Los atributos del objeto cliente podrían ser cedula, nombre, apellido, sexo. Por otro

lado una

relación es una asociación entre varias entidades. Por ejemplo, podemos tener la

entidad cliente que puede tener relación con la entidad cuenta.

Además de entidades y relaciones el modelo entidad relación representan ciertos

ligaduras que las bases de datos deben cumplir. Entre estos podemos mencionar

las correspondencias de cordinalidad, que expresan el número 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 relación uno a muchos de factura hacia detalle_factura, ya que una

factura puede tener muchos detalles.

Factura Detalle_Factura

Número Número

Clientes Articulo

Fecha Cantidad

Pago

Un diagrama entidad relación se puede utilizar para representar de manera total

la estructura lógica de una base de datos.

Los componentes básicos del diagrama entidad relación

- Rectángulo: Que representa el conjunto de entidades

- Eclipses : Que representa atributos

- Rombo: Representa relación entre conjunto de entidades

- Líneas: que conecta los elementos que componen un diagrama entidad

relación.

8

Cliente Cuenta

Page 9: Conceptos Basicos Sobre Base de Datos

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

Modelos lógicos basados en registros:

Representan la estructura lógica completa de la base de datos, así como también

una descripción de alto nivel de la implementación.

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 número fijo de campos o

atributos y cada campo tiene una longitud fija. Entre estos modelos podemos

mencionar algunos: Modelo de Red, modelo Jerárquico y modelo relacional.

Para efectos del curso se estará desarrollando el modelado relacional. En este

modelo se usa una colección de tablas para representar tanto los datos como las

relaciones entre esos datos.

Trabajo práctico: Desarrolle una base de datos relacional utilizando las tablas de

factura y detalle factura. Use como guía el ejemplo de la página 7 del libro

Fundamentos de Base ded Datos de Henry Korth.

9

dni

Calle-cliente

Npmbre-cliente

Calle-cliente

Saldo

Número

Cueta

Cliente Cuenta

Page 10: Conceptos Basicos Sobre Base de Datos

Lenguaje de Base de Datos:

Para este aspecto se van a necesitar dos lenguajes.

Lenguaje de definición 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 manipulación de datos : Son los lenguajes que permiten accesar o

manipular los datos existentes en las bases de datos.

Practica Práctico.

1. Realice el diagrama entidad relación para las siguientes tablas: Estudiantes,

Asignaturas.

Coloque sus atributos

Establezca las relaciones

2. Para el diagrama entidad relación construya su diccionario de datos.

10

Page 11: Conceptos Basicos Sobre Base de Datos

2.3 Modelo Entidad Relación:

Existen tres conceptos básicos que emplea el modelo entidad relación: 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 unívoca. Por ejemplo, la cédula identifica de manera

única a cada ciudadano en la república. Las entidades pueden ser una persona, un

libro, las entidades también pueden ser abstractas como unas vacaciones, un

préstamo, 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

análisis de una situación, ya que esta definición permite establecer criterios que

afectan directamente el diseño 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

están divididos en sub-partes. Los atributos compuestos son aquellos que se

pueden dividir en subpartes, por ejemplo, nombre, cédula. Los atributos

compuestos son ventajosos para una representación 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 cédula 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 podría tener el valor Juan para una entidad, podría haber otro nombre,

tal vez Luis, pero sería para otra entidad. Los atributos multivalorados son

11

Page 12: Conceptos Basicos Sobre Base de Datos

aquellos que pueden tener un número variado de valores para una entidad

específica. Podemos citar la situación de un asegurado que puede tener bajo su

condición varios asegurados, como también 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, teléfono pueden ser ejemplo de campos nulos.

Los atributos Derivados o Resultantes: Los valores de este tipo de

atributos 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 estuviéramos su fecha de nacimiento. Los

atributos derivados que sabemos forman parte del análisis del sistema, no se

colocan en las entidades.

Identificación 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 identificación se conoce como llave

primaria.

Veamos la siguiente ilustración

Cédula Nombre Edad Dirección

02-423-13 Juan Ríos 26 Colón

03-45-15 Pedro Castro 26 Panamá

09-00-189 Mario Díaz 45 San José

Al momento de seleccionar una llave para una entidad debemos estar seguro que

esta llave no se va ha repetir para ningún registro en el conjunto de entidades. Si

12

Page 13: Conceptos Basicos Sobre Base de Datos

escogiéramos de los atributos de la ilustración, descartaríamos el atributo nombre

porque muchas personas podrían tener el mismo nombre, al igual que la edad y la

dirección.

Sin lugar a duda la llave primaria sería la cédula ya que esta es una identificación

ú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 foránea, o puede que sea ambas llaves.

Una llave foránea es aquella que hace referencia a una llave primaria o llave única

de otra entidad.

Ilustremos lo expuesto con los siguientes ejemplos:

Estudiante

(Cédula, Nombre, Fecha_nacimiento, Teléfono)

Calificaciones

(Cédula, Cod_asignatura, Año, Semestre, Calificación)

En la tabla de estudiante la llave será la cédula, esta tabla va ha contener la

información de todos los estudiantes, y cada estudiante tendrá un solo registro en

esta tabla.

Al analizar la tabla de calificaciones, no podemos escoger la cédula como llave

primaria ya que la relación 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 cédula de los estudiantes. Igual pasaría si escogiéramos la

asignatura como la llave primaria, ya que la asignatura podría ser dada por muchos

estudiantes así que ésta se repetiría.

Para asegurarnos una identificación para la tabla Calificaciones debemos escoger

como llave los atributos Cédula y Asignatura.

13

Page 14: Conceptos Basicos Sobre Base de Datos

Modelado de Relaciones:

El modelado de relaciones representa la forma como las entidades interactúan

entre ellas.

Correspondencia de cardinalidad:

Expresa el número de entidades a las que otra entidad puede estar asociada vía

un conjunto de relaciones.

Las relaciones de cardinalidad que se explicarán serán de tipo binaria, y se detallan

a continuación:

Uno a Uno: Es aquella en que una entidad A se asocia a lo máximo con una sola

entidad B.

La asociación entre la Entidad Escuela ---------Director es un ejemplo de este

caso, este caso es aplicable a las escuelas públicas tiene un solo un director y

estos a su vez pueden dirigir sólo 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. El caso

contrario es la relación Varios a Uno. La relación entre el empleado y los

cheques que se le han pagado es un ejemplo de esta situación. Otro ejemplo

aplicable a esta situación es la del estudiante y sus calificaciones, ya que un

estudiante puede tener muchas calificaciones.

Varios a Varios: Una entidad A y una entidad B pueden estar asociadas entre

ellas muchas veces. La relación entre la entidad estudiante y la entidad Profesor

nos ilustra el caso.

La ilustración de esta situación es propicia para explicar una regla de análisis, que

especifica que cuando existe una relación 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 común.

Veamos un ejemplo:

Estudiantes Profesor

Cedula Codigo

14

Page 15: Conceptos Basicos Sobre Base de Datos

Nombre Nombre

Dirección Dirección

Telefono Telefono

Sexo Sexo

Fecha_Nacimiento Categoría

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

cédula y el código, entonces estos campos conformarían la llave de la tabla

resultante. Esta tabla también va ha contener los atributos que tiene las tablas en

común, si analizamos un poco más nos damos cuenta que los atributos en común

de estas tablas puede ser asignatura, calificación, año, 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. Las

dependencias parciales son aquellas en puede que exista o no la relación. Para

que exista una calificación 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 débiles y la Herencia de atributos

Esta situación la analizaremos considerando un las entidades de facturas y detalla facturas.

Facturas Detalles

Numero_Factura Articulo

Fecha Cantidad

Cliente Descuento

T_Pago

15

Page 16: Conceptos Basicos Sobre Base de Datos

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 débil,

estas entidades van entonces ha depender de la entidades fuertes a las que

estén asociadas o relacionadas.

Para estos casos es necesario identificar en las entidades débiles 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 débil esta formado por la llave primaria

de la entidad fuerte más el discriminante de la entidad débil. 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 débil queda así:

Detalles

Numero_Factura

Articulo

Cantidad

Descuento

Trabajo Práctico:

Realice la representación de la entidad cuentas con los atributos que usted

considere necesarios y cuya entidad fuerte es bancos con la llave primaria código

de banco

16

Page 17: Conceptos Basicos Sobre Base de Datos

c) Bibliografía Específica Obligatoria.

Fundamentos de base de datos.

Abraham Silberschatz

Tercera Edisión.

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

términos 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 podría colocar.

Ejemplo: La el sexo es un atributo simple, porque no se subdivide y se podría

colocar en la entidad estudiantes.

2.4 Las relaciones de cardinalidad deben ser ejemplificadas de la siguiente

manera

ACUDIENTE ESTUDIANTE

Cod_acudiente PK Cod_acudiente FK

Nombre Cod_estudiante PK

Dirección Nombre

Apellido

Dirección

Teléfono

Debe aplicar el concepto de llave primaria. Herencia de atributos Llave foránea.

2.5 Colocar los atributos a cada entidad y las llaves foráneas y primarias.; además de los

atributos que se heredan.

17

Page 18: Conceptos Basicos Sobre Base de Datos

2.6 Debe ejemplificar la situación de cardinalidad entre una entidad fuerte y una entidad débil.

AUTOEVALUACION

Encierre en un circula la letra que corresponda a la respuesta correcta.

1.Al establecer una relación 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 elección_______________________________________________________

__________________________________________________________________________

2. La relación 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 elección_______________________________________________________

_________________________________________________________________________

3. Si tenemos el seguro social y deseamos segregarlo, es un atributo:

a. Derivado

b. Simple

c. compuesto

4. Cual de los siguientes campos podría estar nulo en la entidad Paciente:

a. Edad.

b. Nombre

c. Dirección.

5. Al encontrar una relación de cardinalidad muchos a muchos se produce la

siguiente situación

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

18

Page 19: Conceptos Basicos Sobre Base de Datos

b. Llave foránea

c. Llave candidata.

7. El elemento que se heredad de una entidad fuerte a una entidad débil se llama

a. Llave Primaria

b. Llave foránea

c. Llave candidata.

8. La llave que hace referencia desde una entidad débil hacia una entidad fuerte

es:

a. Llave Primaria

b. Llave foránea

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 relación entre la entidad sucursal y departamento, la entidad débil

sería

a. Sucursal

b. Departamento

c. Ninguna de las dos.

19

Page 20: Conceptos Basicos Sobre Base de Datos

III UNIDAD. NORMALIZACION Y CREACION DE TABLAS.

a) Objetivo Específico:

Comprender el análisis y modelación de datos, y su representación en

una Base de Datos Relacional.

b) Síntesis Conceptual del contenido de la Unidad

Las técnicas de normalización permiten optimizar el análisis y diseño de datos para

la realización de sistemas computacionales. En este apartado se explican y

aplican. Además se usaran las características que permitan la creación de una

base de datos con todos sus componentes de integridad.

NORMALIZACION.

La normalización es de suma importancia al momento de realizar el análisis y

diseño de una situación, para su posterior representación en un esquema de base

de datos.

La normalización permite almacenar y representa complejas situaciones de

usuario en estructuras de datos simples, estables y más pequeñas.

La normalización generalmente se lleva hasta su tercera forma normal, aunque

algunas veces se lleva hasta su cuarta forma normal. La normalización busca

reducir el espacio de almacenamiento y hacer más fácil el manejo de los datos en

la base de datos.

Algunas veces cuando normalizamos algunas entidades, muy por el contrario de

reducir la repetición de información lo que se haces es ocupar más espacio de

almacenamiento.

Primera Forma Normal.

Consiste en la identificación de una llave primaria y la eliminación de los grupos

repetitivos.

Consideremos el siguiente ejemplo:

Estudiante(Cedula, nombre-estudiante, Dirección, teléfono, calificación, Asignatura,

Puntos

Año, semestre, Edad, Acudiente, nombre_asignatura, cod_profesor,

nom_profesor)

20

Page 21: Conceptos Basicos Sobre Base de Datos

Si le aplicamos las formas normales a esta entidad nos damos cuenta que tiene

una serie de anomalías que necesitan ser corregidas para ser considera como

entidad correctamente normalizada.

Podríamos iniciar ubicando la llave primaria y sacando los campos que están

asociados únicamente a esta llave, entonces quedarían separado el resto de los

campos y la entidad estudiante como sigue:

Estudiantes(Cédula, Nombre-estudiante, Dirección, Teléfono, Edad, Acudiente)

Podemos ver que la existe campos que están asociados a la clave primaria pero que

también están asociados a otros campos.

Materia(Cédula, Cod_asignatura, Puntos, Año, 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 conformarían 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 año 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

relación.

Una dependencia parcial es aquella en que uno o más atributos dependen de una

parte de la llave. Para est ejemplo el nombre de la asignatura es dependiente del

código de la asignatura que es parte de la llave, sin embargo no depende de la

cédula que es el otro elemento de la llave.

Al separar la asignatura quedaría así:

Asignaturas (cod_asignaturas, nombre_asignatura)

Asignaturas_Estudiantes (Cedula, cod_asignatura, Año, Semestre, Calificación,

Puntos, cod_profesor, nom_profesor)

21

Page 22: Conceptos Basicos Sobre Base de Datos

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

Asiganturas, debido a que esta cuenta con el criterio código asignatura que es

suficiente para identificar un registro, siempre que se considere que el código de la

asignatura nos e va a repetir.

En este punto la entidad original que teníamos se le ha aplicado la primera y

segunda forma normal y han resultado tres entidades.

1) Estudiantes(Cédula, Nombre-estudiante, Dirección, Teléfono, Edad, Acudiente).

2) Asignaturas (Cod_asignaturas, nombre_asignatura).

3) Asignaturas_Astudiantes (Cedula, cod_asignatura, Año, Semestre,

Calificación, 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 análisis aparece el código del

profesor y el nombre del profesor, podemos ver que el nombre del profesor

depende del código del profesor y el código 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, Año, Semestre,

Calificación, 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_TesisCedula

Num_tesis

Tema

Area

22

Page 23: Conceptos Basicos Sobre Base de Datos

Especialidad

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_Tesis

Tema

Cedula Num_Tesis

Num_tesis Tema

Area Estatus

Especialidad

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.

Creación de Tablas.

Investigación.

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 creación del diseño de una base de datos, que permita la creación de tablas con

relaciones de integridad que cumpla con las necesidades de las organizaciones.

En esta sección veremos la creación de distintos objetos de base de datos, que

permiten el manejo de información para una organización.

La creación de una tabla no es más que la representación de una entidad y sus

relaciones en la base de datos. Esta compuesta por la siguiente instrucción

Create table nombre_tabla

(nombre_atributo tipo_atributo(largo_atributo) requerido o no.

Creación de la tabla Asignaturas.

23

Page 24: Conceptos Basicos Sobre Base de Datos

Create table asignaturas

(cod_asignatura varchar2(5) not null,

Nombre_asignatura varchar2(30) not null,

Clave varchar(10),

Constraint PK_asignatura primary key (cod_asignatura))

Observe que la sintaxis para la creación de la llave que usamos es:

Constraint nombre_llave primary key(campos_llaves)).

Debemos mencionar que existen diferentes sintaxis para la creación de tablas, al

igual que para la creación de constraint, pero usaremos los expuestos por motivos

funcionales.

Para la creación de relación entre tablas es necesario usar las llaves foráneas.

Cuando se crea un conjunto de tablas recuerde que se mantiene la relación de

jerarquía, 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 creación de llave foránea es:

Constraint nombre_llave foreign key(atributos_foráneos)

References tabla_referenciada(campos_referenciados).

Veamos la explicación con el ejemplo de la normalización.

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,

Dirección varchar2(30) not null,

Teléfono varchar2(8),

Edad varchar2(2) not null,

Acudiente varchar2(30) not null,

)

24

Page 25: Conceptos Basicos Sobre Base de Datos

Ahora crearemos la tabla estudiantes_ asignatura que mantiene una relación de

llave foránea:

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 Cuentas

Cod_banco

Descripción

Cod_banco

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 pérdida de la consistencia

de los datos

25

Page 26: Conceptos Basicos Sobre Base de Datos

Ligaduras de Dominio:

Estas ligaduras van a determinar los valores que debe tener un campo, así como los

tipos, máscaras y formatos que llevarán. Una definición de dominio no sólo

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

también r consultas. Ilustrando la explicación 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 serían todos los valores mayores B/. 100.00, Otro

ejemplo puede ser el estado de las cuentas que podrían estar en tres estado

Activa, Inactiva, y Congelada; entonces el dominio del atributo condición en la

tabla cuenta, serían los tres valores mencionados.

El lograr el cumplimiento de los dominios antes expuestos debe emplearse la

instrucción check conjuntamente con la creación 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 Práctico

Muestre atributos que pueden tener un conjunto de atributos

específicos que constituyen su dominio.

Investigue como determinar que todos los valores carácter se guarden

en mayúscula.

26

Page 27: Conceptos Basicos Sobre Base de Datos

Integridad Referencial

Esta integridad se da más que todo a nivel de SQL con el uso de las instrucciones

de llaves primarias y llaves foráneas. Como ejemplo, no podemos tener un banco

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

Asertos:

Expresa una condición 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 automática como efecto secundario

de la de la modificaciones de las bases de datos.

Para diseñar 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

Page 28: Conceptos Basicos Sobre Base de Datos

c) Bibliografía Específica Obligatoria.

Fundamentos de base de datos.

Abraham Silberschatz

Tercera Edisiòn.

d) Bibliografía Complementaria

Oracle Manual de Referencias

George Koch.

e)actividades de aprendizaje.

3.1 Tabla 1.

Automóvil

Cod_propietario

Placa

Nombre_propietario

Modelo

Color

Año

Destino_viaje

N_viaje

Cod_conductor

Costo

Cod_pasajero

Nombre_pasajero

Cod_conductor

Nombre_conductor

Telefono Propietario.

3.2 Una Universidad le ha pedido a usted que diseñe un sistema que le permita

llevar un control estadístico de todos los egresados. Realice un análisis que

le permita a esta Universidad obtener información útil.

28

Page 29: Conceptos Basicos Sobre Base de Datos

3.3 El disquete que entregará, debe contener el scripts que se necesita para crear

las tablas que han resultado del análisis hecho en la parte 2. Este actividad se

evaluará ejecutando el archivo de los scripts en la base de datos.

f) AUTOEVALUACIÓN.

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

1. Si dentro de dentro de la tabla encuentro que un atributo

depende sólo de una parte de la tabla es una dependencia de tipo:

a. Transitoria

b. Total.

c. Parcial.

2. Los atributos multivalorados están 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 normalización es :

a. Duplicar la información

b. Aumentar la integridad

c. Facilitar el manejo de la información.

5. La integridad referencial en la normalización se da principalmente a través

a. Los Dominios

b. Las llaves primarias y foráneas

c. Los controles.

29

Page 30: Conceptos Basicos Sobre Base de Datos

IV UNIDAD. CONCEPTOS BASICOS DE SQL.

a) Objetivo Específico:

Reconocer y utilizar las funciones del lenguaje SQL, enfatizando en el

lenguaje SQL de Oracle.

b) Síntesis Conceptual del contenido de la asignatura.La información 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 manipulación de datos S.Q.L. y las instrucciones básicas 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 consulta, contiene muchas otras

características, como por ejemplo: definir las estructuras de los datos,

modificación de los datos en la base de datos y para la definición de las ligaduras

de seguridad.

Estructura Básica

La estructura básica de una expresión SQ consiste de tres cláusulas: select,

from, where

Select: Se utiliza para obtener los atributos deseados de una consulta.

From: Lista las relación(es), que van ha estar involucradas en una consulta.

Where: Establece las condiciones que han de cumplirse al momento de hacer una

consulta, esta cláusula es optativa, por tanto puede aparecer o no en una consulta.

La sintaxis de estas tres cláusulas básicas es :

select atributo1, atributo2, atributo3, atributon...

from Tabla1, Tabla2, Tabla1n....

where Condición1

30

Page 31: Conceptos Basicos Sobre Base de Datos

Condición2

Condiciónn.....

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, número_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 instrucción Where.

Suponga que desea obtener solamente detalle de las cuentas para el banco 01.

Entonces necesita condicionar en la cláusula where por este valor para el código

del banco

Select * from cuentas

Where cod_banco = ’01’

Esta consulta nos mostraría toda la información 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 sería el mismo.

31

Page 32: Conceptos Basicos Sobre Base de Datos

Se usa el comodín cuando se desea obtener todos los detalles de una tabla, pero

no puede usarse cuando se desea consultar más de una tabla.

También puede usarse el comodín para escoger todos los campos de una tabla y

realizar una operación matemática sobre un campo específico.

Ejemplo:

Seleccione todas las cuentas que están activas y muestre el 5% del monto actual de

cada una.

Select *, (monto_actual *.05)

From cuentas

Where estatus = ‘A’

Investigación:

Explique y ejemplifique el uso de las instrucciones AND y OR en formato

sencillas y anidadas.

Explique y ejemplifique de las cláusulas IN y BETWEEN.

Establecer Relación entre varias tablas:

Nota: Esta investigación está detallada en la descripción de las actividades.Las relaciones entre tablas no son más que relaciones de integridad que ya hemos

mencionado.

Esta relaciones se establecen generalmente entre las llaves de las tablas,

específicamente de la llave primaria a la llave foránea. 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 operación usamos las instrucción: to_char(campo),

to_date(campo), to number(campo).

Selección el detalle de los bancos, mostrando el código el banco como un campo

numérico

Select to_number(cod_banco), descripción

From bancos.

32

Page 33: Conceptos Basicos Sobre Base de Datos

Para establecer la relación entre la tabla bancos y la tabla cuenta, vemos

claramente que tienen un atributo que es llave primaria en una tabla y llave foránea

en la otra, el campo cod_banco, entonces podemos usar este campo para

establecer la relación, y deducimos que la relación entre dos tablas generalmente

se establece entre los campos llaves.

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

número_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

número_cuenta y monto_actual no se encuentran en la tabla banco.

Veamos la relación

Select descripcion, N_cuenta, Monto_actual

From bancos, cuentas

Where cod_banco = cod_banco.

Para efectos del ejemplo la relación está bien establecida, pero funcionalmente no

es correcta ya que el lenguaje se confunde al encontrarse con el código 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 más de una tablas

que intervienen en la consulta. Podemos lograr esto colocando el nombre de la

entidad al lado izquierdo de cada atributo separándolo 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 práctico al momento de realizar la consulta, ya

que resultaría 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 sinónimos temporales(dentro de la consulta) para cada tabla y como

se mencionó anteriormente, se declaran colocándolo a la derecha de cada tabla

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

33

Page 34: Conceptos Basicos Sobre Base de Datos

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 sucesión lógica

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

Page 35: Conceptos Basicos Sobre Base de Datos

c)Bibliografía

Apliqe SQL

James R Groff, Paul N Weinberg

Mc Graw Hill

d)Bibliografía Complementaria

Fundamentos de Bases de datos

Abraham Silberchatz.

Tercera Edición.

McGraw Gill.

Manual de Referencia Oracle

George Koch.

e) Actividades de Aprendizaje

Departamento Empleado

Cod_departamento Departamento

Nombre Cedula

Cedula_jefe 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 más de 500. dólares.

Salida: Departamento Cedula Nombre Salario

35

Page 36: Conceptos Basicos Sobre Base de Datos

4.2 Al realizar la investigación de la página 36 sobre las cláusulas IN y Between

debe realizar los siguientes SQL.

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 dólares.

Between

Salida: Departamento Cedula Nombre Salario

f) AUTOEVALUACION

1. Para que una consulta nos muestre solamente la cuenta

47, debemos emplear la instrucción:

a. Where

b. From

c. Having

2. Para escoger dos tablas en una consulta debemos especificarlas en la cláusula

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 foránesa

c. Llaves foráneas y llaves foráneas.

5. Si deseo consultar sólo las cuentas ‘001’ y ‘005’, debemos usar la instrucción :

a. Between

b. In

c. Or

36

Page 37: Conceptos Basicos Sobre Base de Datos

6. Si deseo obtener las cuentas que tienen un monto inicial en un rango de 100.00

a 1000.00 debemos emplear la instrucción

a. Between

b. In

c. Or

37

Page 38: Conceptos Basicos Sobre Base de Datos

V UNIDAD. FUNCIONES Y VISTAS LOGICAS.

a) Objetivo Específico :

Practicar el uso de funciones avanzadas del SQL

b) Síntesis Conceptual del contenido de la asignatura.

Además de realizar consultas sencillas, el SQL es la herramienta por excelencia

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

información. Estudiaremos algunas funciones avanzadas en el del SQL.

Las funciones nos permiten elaborar consultas que tienen un grado de

complejidad considerable, aunque también son usadas para realizar cualquier

consulta de manera más sencilla. Por su parte las vistas lógicas permitenobtener

resultados de varias tablas en una sóla además de brindar niveles de seguridad al

permitir sólo consultar la información.

Funciones de grupo:

Las funcione de grupos permiten realizar operaciones sobre un grupo de datos, son

múltiples las funciones existentes pero veremos los ejemplos de las funciones:

SUM(), COUNT(),MAX,MIN.

Esta funciones trabajan relacionadas muy directamente a la función principal de

agrupamiento group by. La cual agrupa una cantidad de valores de acuerdo a

atributos especificados .

38

Page 39: Conceptos Basicos Sobre Base de Datos

Usaremos las tabla para ejemplificar las funciones de grupo

Bancos

Cod_banco Descripcion

01 Nacional

02 Extranjero

03 Popular

Cuentas

Cod_banc

o

N_cuentas Monto_inicia

l

Monto_actua

l

Fecha_ap

01 0012 4550.00 20.00 23/01/2002

01 0015 550.00 220.00 13/02/2002

01 0013 4550.00 20.00 23/01/2002

03 0059 5250.00 180.00 20/02/2001

02 0508 789.00 154.00 25/06/2001

03 0023 7892.00 178.00 30/02/2002

03 0021 789.00 210.00 25/02/2002

02 0054 897.00 56.00 20/02/2002

01 0004 1245.00 160.00 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 instrucción, la consulta sería como

sigue:

Select count(*) from bancos.

De igual manera si necesitamos saber cuantas cuentas existe, basta con escribir la

sentencia básica: Select count(*) from cuentas.

Pero si quisiéramos 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.

39

Page 40: Conceptos Basicos Sobre Base de Datos

Esta consulta mostraría cada banco con el total de cuentas que tiene, para nuestro

ejemplo la salida sería como sigue:

Cod count(*)

01 4

02 2

03 3

Los ejemplos expuestos de funciones de grupo son aplicables a cualquier

instrucción de agrupamiento, tales como average, promedios, etc.

Subconsultas:

Las subcolsulta son la descomposición de consultas en porciones más pequeñas,

pero que al final generan los resultas de manera conjunta. Las subconsultas

también son usadas para realizar consultas 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 cláusula In funciona también como un tipo de subconsulta, veamos un

ejemplo.

Muestre todos los bancos que tiene un monto_actual menor de 100.00

Select cod_banco, descripción

From bancos

Where cod_banco IN (select cod_banco

From cuentas

Where monto_actua < 100.00).

40

Page 41: Conceptos Basicos Sobre Base de Datos

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, descripción

From bancos

Where cod_banco exists (select cod_banco

From cuentas

Where monto_actua < 100.00).

41

Page 42: Conceptos Basicos Sobre Base de Datos

Investigación:

Defina y ejemplifique el uso de cada una de las siguientes instrucciones:

Having

Creación de vistas

Clausula Like

Utilización de Instrucciones para actualizar, modificar y borrar registro de la base

de datos.

42

Page 43: Conceptos Basicos Sobre Base de Datos

c) Bibliografía Especifica

Apliqe SQL

James R Groff, Paul N Weinberg

Mc Graw Hill

d) Bibliografía Complementaria

Manual de Referencia Oracle

George Koch.

Fundamentos de Bases de datos

Abraham Silberchatz.

Tercera Edición.

McGraw Gill.

e) Actividades de aprendizaje.

5.1 Para la investigación asignada debe describir textualmente cada concepto y además

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 más de una cuenta.

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

f) Autoevaluación.

43

Page 44: Conceptos Basicos Sobre Base de Datos

8. Proyecto Final

El proyecto final tiene como objetivo primordial practicar y desarrollar los

conocimientos adquiridos a través del curso.

Para este propósito 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 más real posible, ya que

redundará en beneficio de su formación profesional.

Cada estudiante deberá presentar un caso de estudio, o situación que requiera de

un análisis para desarrollar un sistema. Esta primera fase se presentará al

profesor, el cuál deberá considerar si es funcional o no trabajar está situación como

tema de proyecto. La fecha limite para la presentación de esta parte es hasta la

quinta 4 semana. En esta fase de deben entregar, la descripción del sistema, las

posibles consideraciones a tomar en cuanta en el análisis, los posibles

inconvenientes, y el alcance del sistema.

La segunda fase consiste en realizar la modelación del sistema, en esta fase se

debe presentar el diagrama relacional en su estado físico, el diccionario de datos,

las llaves de cada entidad y los scripts necesarios para crear estas tablas en la base

de datos.

Esta presentación es sólo en papel, y deben ser evaluadas por el profesor para su

posterior ejecución en la base de datos. La fechas máxima para la presentación de

esta fase es hasta la 9 semana

La tercera fase es la presentación formal del proyecto y debe ser entregado un

disquete con los scripts que ejecutan las tablas. La evaluación se hará ejecutando

el archivo de los script sobre la base de datos. Es necesario entregar también

los scripts que insertan, modifican y borran información de la bases de datos. La

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

44