Vous êtes sur la page 1sur 100

DESARROLLO Y

PROGRAMACIÓN DE BASES
DE DATOS

Guía para el estudiante

Elaborado y Diseñado por el formador:


LUIS HERNANDO PRIETO OLIVARES

INSTITUTO COLOMBIANO DE APRENDIZAJE


INCAP
Programa Técnico Laboral en Sistemas
Módulo Guía Desarrollo y Programación de Bases de Datos

EL SIGUIENTE MATERIAL SE PREPARÓ CON FINES


ESTRICTAMENTE ACADÉMICOS, DE ACUERDO CON EL
ARTÍCULO 32 DE LA LEY 23 DE 1982, CUYO TEXTO ES EL
SIGUIENTE:

ARTÍCULO 32:

“Es permitido utilizar obras literarias, artísticas o parte de ellas, a


título de ilustración en obras destinadas a la enseñanza, por medio
de publicaciones, emisiones o radiodifusiones, o grabaciones
sonoras o visuales, dentro de los límites justificados por el fin
propuesto, o comunicar con propósito de enseñanza la obra
radiodifundida para fines escolares, educativos, universitarios y de
formación personal sin fines de lucro, con la obligación de mencionar
el nombre del autor y el título de las obras utilizadas”.

Desarrollo y Programación de Bases de Datos


Instituto Colombiano de Aprendizaje
Elaborado por:
Luis Hernando Prieto Olivares

Editado por:
Instituto Colombiano de Aprendizaje INCAP

© Prohibida la reproducción parcial o total


bajo cualquier forma
(Art. 125 Ley 23 de 1982)

Bogotá – Colombia
Versión 01 - Enero 2010

2
Instituto Colombiano de Aprendizaje INCAP

CONTENIDO

PRESENTACIÓN 5
GUÍA METODOLÓGICA 7

UNIDAD 1
DISEÑO DE BASES DE DATOS RELACIONALES 9
Conceptos Generales sobre Bases de Datos 9
Modelo de Datos 10
Fases del Diseño de Bases de Datos 12
Diagrama Entidad-Relación (E-R) 13
Gestor De Base De Datos 16
Pasos para Diseñar una Base de Datos Relacional 22

UNIDAD 2
MOTOR DE BASES DE DATOS SQLSERVER 30
1. CREACIÓN DE UNA BASE DE DATOS Tipo de Evidencia: Diseño de producto. 30
2. CREACIÓN DE LAS TABLAS 37
3. Generación del Diagrama Entidad-Relación 43

UNIDAD 3
GESTIONAR BASES DE DATOS CREADAS EN SQL SERVER CON VISUAL BASIC.NET
51
1. Crear la Conexión a la Base de Datos Tipo de Evidencia: Diseño de producto. 52
2. Visualización de una Consulta a una Tabla Automáticamente 58
Proyecto Final 98

Bibliografía 100

3
Módulo Guía Desarrollo y Programación de Bases de Datos

Apreciado estudiante:

Usted escogió al INCAP para que lo oriente en el camino de la formación


profesional. La institución le proporcionará un formador, quien le ayudará a descubrir
sus propios conocimientos y habilidades.

El INCAP, le ofrece además, recursos para que usted alcance sus metas, es decir,
lo que se haya propuesto y para ello dispondrá de módulos guía, audiovisuales de
apoyo, sistemas de evaluación, aula y espacios adecuados para trabajos
individuales y de grupo.

Éste módulo guía que constituye además un portafolio de evidencias de aprendizaje,


está distribuido de la siguiente manera:

PRESENTACIÓN: Es la información general sobre los contenidos, la metodología,


los alcances la importancia y el propósito del módulo.

GUÍA METODOLÓGICA: Orienta la práctica pedagógica en el desarrollo del proceso


de formación evaluación y se complementa con el documento de la didáctica para la
formación por competencias de manejo del formador.

DIAGNÓSTICO DE ESTILO DE APRENDIZAJE: Que le permitirá utilizar la


estrategia más adecuada para construir sus propios aprendizajes.

AUTOPRUEBA DE AVANCE: Es un cuestionario que tiene como finalidad que usted


mismo descubra, qué tanto conoce los contenidos de cada unidad, y le sirve de
insumo para la concertación de su formación y el reconocimiento de los aprendizajes
previos por parte de su formador (talleres que se encuentran al final de cada
unidad).

CONTENIDOS: Son el cuerpo de la unidad y están presentados así:


Unidad
Logro de competencia laboral
Indicadores de logro: Evidencias
Didáctica del método inductivo Activo para el desarrollo de las competencias:
FDH: Formador Dice y Hace,
FDEH: Formador Dice y Estudiante Hace,
EDH: Estudiante Dice y Hace.

BIBLIOGRAFÍA

4
Instituto Colombiano de Aprendizaje INCAP

PRESENTACIÓN
No es exagerado afirmar que la información es el activo más importante y valioso
que tiene una empresa, y en algunos casos llega a convertirse en la esencia misma
de su operación. Ello implica que deba ser correctamente administrado para que sea
en sí mismo un elemento de productividad y aporte en la obtención de ganancias a
la organización.

Esta es la razón por la cual una de las áreas más importantes de la computación es
la gestión de bases de datos, y que los desarrolladores de este tipo de aplicaciones
sean algunos de los más solicitados en el mercado laboral. En la misma medida, el
software que se utiliza en este campo se actualiza de manera vertiginosa, añadiendo
continuamente nuevas utilidades, entornos más amigables y opciones de aplicación
en diversos campos.

Este texto continúa lo iniciado en el módulo Desarrollo y Programación de


Aplicativos Windows, enfatizando en los métodos para organizar la información, la
facilidad de uso para el usuario y las aplicaciones del diagrama entidad-relación.
Todo de acuerdo a las ventajas que ofrecen Microsoft Visual Studio 2008 y el motor
de bases de datos SQL Server.

Corresponde a los estudiantes aprovechar al máximo el contenido de esta cartilla y


apoyarse en las indicaciones del formador para que al final del curso pueda
desempeñarse hábilmente en este campo de la informática y ofrezca a sus usuarios
un producto de calidad y buen manejo.

5
Módulo Guía Desarrollo y Programación de Bases de Datos

A los hombres y mujeres de nuestro tiempo que han hecho de la


vida una maravillosa aventura, a los que están conscientes de que
ellos son los únicos responsables del resultado de su existir, a los
que no están dispuestos a malgastar un instantes de sus vidas. A
Laura Valentina y María Camila estudiantes de programación que
son esponjas de enseñanza, debido a la cambiante economía
mundial que promueve la competencia. Así esperamos que salgan
ustedes estimados lectores de este modulo, con algo mas que un
diploma y con la promesa que, algún día, sabrán aprovechar lo que
han aprendido.

El Autor

6
Instituto Colombiano de Aprendizaje INCAP

GUÍA METODOLÓGICA

La estrategia metodológica del INCAP, para la formación técnica del aprendiz


mediante competencias laborales, comprende dos caminos:

1. Las clases presenciales dictadas por el Formador haciendo uso del método
inductivo – activo

2. El trabajo práctico de los estudiantes dirigido y evaluado por el Formador, a


través de talleres, desarrollo de casos, lecturas y consultas de los temas de
clase etc. Con esto se busca fomentar en el estudiante el análisis, el uso de
herramientas tecnológicas y la responsabilidad.

Los módulos guía utilizados por el INCAP, para desarrollar cada uno de los cursos,
se elaboran teniendo en cuenta ésta metodología. Sus características y
recomendaciones de uso son:

 A cada unidad de aprendizaje le corresponde un logro de competencia


laboral el cual viene definido antes de desarrollar su contenido. Seguidamente
se definen los indicadores de logro o sea las evidencias de aprendizaje
requeridas que evaluará el Formador.

 Glosario: Definición de términos o palabras utilizadas en la unidad que son


propias del tema a tratar.

 Desarrollo de la unidad dividida en contenidos breves seguidos por ejercicios,


referenciados así:

FDH (El Formador Dice y Hace): Corresponde a la explicación del


contenido y el desarrollo de los ejercicios por parte del Formador.

FDEH (El Formador Dice y el Estudiante Hace): El estudiante desarrolla


los ejercicios propuestos y el Formador supervisa.

EDH (El estudiante dice y hace): Es el trabajo práctico que desarrollan


los estudiantes fuera de la clase, a través de talleres, desarrollo de
casos, lecturas y consultas de los temas, los cuales deben ser evaluados
por el Formador.

 Al final de cada unidad se puede presentar un resumen de los contenidos


más relevantes y ejercicios generales.

7
Módulo Guía Desarrollo y Programación de Bases de Datos

DIAGNÓSTICO

INFORMACIÓN GENERAL

Regional_____________ Programa__________________ Módulo__________

Estudiante_________________________ Formador_____________________

EVALUACIÓN DIAGNÓSTICA

Estilo de aprendizaje_____________________________________________

8
Instituto Colombiano de Aprendizaje INCAP

UNIDAD 1
DISEÑO DE BASES DE DATOS RELACIONALES

Logros de competencia Laboral

1. Desarrolla ejercicios utilizando programación orientada a eventos. Maneja los


conceptos básicos de Bases de Datos y los aplica en el diseño apropiado del modelo
relacional (Diagrama entidad relación).

2. Implementa el modelo de bases de datos relacional en SQL server.

Indicadores de Logro Evidencia de

Distingue los conceptos para utilizarlos en el diseño de


Conocimiento
aplicaciones de Bases de datos.

Identifica las diferencias entre cada uno de los


Desempeño
conceptos vistos y los utiliza eficazmente.

Diseña un diagrama entidad-relación coherente con la


realidad empresarial, asegurando que cada una de sus Producto
partes corresponda a lo exigido por la aplicación.

Conceptos Generales sobre Bases de Datos


Definición

Las bases de datos son componentes esenciales de los Sistemas de Información, y


se pueden definir como:

"Una gran colección de datos interrelacionados, almacenados dentro de un ambiente


computacional" (Rigaux, Scholl y Voisard, 2002)

“Una colección de datos”. (Korth, 1995).

“Cualquier conjunto grande de datos estructurados y almacenados dentro de un


computador” (Batini, Ceri y Navathe, 1994).

“Un conjunto de datos almacenados entre los que existen relaciones lógicas y ha
sido diseñada para satisfacer los requerimientos de información de una empresa u

9
Módulo Guía Desarrollo y Programación de Bases de Datos

organización. En una base de datos, además de los datos, también se almacena su


descripción.” (Marques, 2001)

Modelo de Datos

En general los modelos de datos se pueden definir como:

“Una serie de conceptos que puede utilizarse para describir un conjunto de datos y
operaciones para manipular los mismos" (Batini, Ceri y Navathe, 1994).

"Una colección de herramientas conceptuales para describir los datos, relaciones


entre ellos, semántica asociada a los datos y restricciones de consistencia". (Korth,
1995).

El bloque de construcción común a todos los modelos de datos es una pequeña


colección de <<mecanismos de abstracción>>, que se define como:

Abstracción. Un proceso mental que fija la atención en las propiedades


consideradas esenciales de un conjunto de cosas y desechar sus diferencias.
(Batini, Ceri y Navathe, 1994)

Los tipos de abstracciones son:

Abstracción de Clasificación. Se usa para definir un concepto como una clase de


objetos de la realidad caracterizado por propiedades comunes. Por Ejemplo:
Departamento es una clase cuyos miembros son los departamentos de Antioquia,
Boyacá, Cundinamarca, Bolívar, etc.

Abstracción de Agregación. Define una nueva clase a partir de un conjunto de


(otras) clases que representa sus partes componentes.

Abstracción de Generalización. Define una relación de subconjunto entre los


elementos de dos o más clases. Ej. La clase persona es una generalización de las
clases Hombre y Mujer.

Dentro de los tipos de modelos de datos están: Modelo conceptual de datos que
describe un conjunto de conceptos de una realidad determinada y el Modelo Lógico
que apoyan descripciones de datos procesables por un computador, este modelo
tiene una correspondencia sencilla con la estructura física de la base de datos.
(Batini, Ceri y Navathe, 1994)

Los modelos de datos se pueden dividir en tres grupos:

Modelos lógicos Basados en objetos. Se usan para describir los datos en


los niveles conceptual y de visión (Korth, 1995). Los más conocidos son:

10
Instituto Colombiano de Aprendizaje INCAP

o Modelo Entidad-relación
o Modelo orientado a objetos
o Modelo binario
o Modelo semántico de datos
o Modelo Infológico
o Modelo funcional de datos

Los modelos entidad-relación y orientado a objetos son los más representativos.

1. Modelos lógicos Basados en registros. Se utilizan para describir los datos


en los niveles conceptual y físico. Además, para especificar la estructura
lógica global de la base de datos y para proporcionar una descripción al nivel
más alto de la implementación (Korth, 1995).

Los tres modelos más ampliamente aceptados son:

o Modelo de Red
o Modelo Jerárquico
o Modelo relacional

Nota: Consultaremos de manera informativa sobre estos tres últimos modelos.


Utiliza las diferentes fuentes de información que tienes en tu entorno ejemplo
libros, manuales, las Tics

Modelos Físicos de Datos. Se usan para describir los datos en le nivel más
bajo (Korth, 1995). Los dos más conocidos son:

o Modelo unificador
o Memoria de Elementos
o Modelo Relacional
o Éste es uno de los modelos más utilizados en la actualidad para modelar
problemas reales y administrar datos dinámicamente. Sus bases fueron
postuladas en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California).
o El modelo relacional representa los datos y las relaciones entre los datos
mediante una colección de tablas, cada una de la cuales tiene un número de
columnas con nombre únicos. (Korth, 1995).
o Entre los procesos que ayudan a la mejora en la calidad de una
base de datos se encuentra la normalización.

Normalización

11
Módulo Guía Desarrollo y Programación de Bases de Datos

o Normalización es un conjunto de reglas que sirven para ayudar


a los diseñadores a desarrollar un esquema que minimice los
problemas de lógica. Cada regla está basada en la que le
antecede.
o La normalización también se puede definir como "el proceso
mediante el cual se transforman datos complejos a un conjunto
de estructuras de datos más pequeñas, que además de ser más
simples y más estables, son más fáciles de mantener"

Grados de normalización

Existen varios niveles de normalización, sin embargo son tres los


niveles básicos: Primera Forma Normal (1FN), Segunda Forma
Normal (2FN) y Tercera Forma Normal (3FN). Cada una de estas
formas tiene sus propias reglas.

Forma Normal Descripción


Incluye la eliminación de todos los
Primera Forma Normal (1FN)
grupos repetidos.
Asegura que todas las columnas que no
Segunda Forma Normal
son llave sean completamente
(2FN)
dependientes de la llave primaria (PK).
Elimina cualquier dependencia
transitiva. Una dependencia transitiva es
Tercera Forma Normal (3FN) aquella en la cual las columnas que no
son llave son dependientes de otras
columnas que tampoco son llave.
Una relación esta en FNBC si y solo si
Forma Normal Boyce-Codd todas las dependencias funcionales son
(FNBC) completas y todos los atributos
determinantes son claves candidatas

Fases del Diseño de Bases de Datos

El diseño de bases de datos, representa un enfoque orientado a los datos para el


desarrollo de sistemas de información (fase de diseño): la atención se centra en los
datos y sus propiedades. Estas fases son (Batini, Ceri y Navathe, 1994):

12
Instituto Colombiano de Aprendizaje INCAP

Diseño
Conceptual
Diseño Lógico
Diseño Físico

Diseño Conceptual
Parte de los requerimientos y su resultado es el esquema conceptual de la base de
datos. Un esquema conceptual es una descripción de alto nivel de la estructura de
la base de datos, independiente del software de SGBD que se use para manipularla.
(Batini, Ceri y Navathe, 1994)
Los diagramas de datos más ampliamente usados para del diseño conceptual de
base de datos son los diagramas entidad-relación (ER), UML (Unified Modeling
Language) o OMT (object modeling tecniques) (RIGAUX; SCHOLL y VOISARD,
2002)

Diagrama Entidad-Relación (E-R)

El diagrama entidad-relación se basa en "una percepción del mundo real que


consiste en una colección de objetos básicos llamados entidades y relaciones entre
estos objetos" (Korth, 1995).

El diagrama entidad-relación es el modelo más ampliamente usado para el diseño


conceptual de bases de datos y fue introducido por Peter Chen en 1976. (Batini, Ceri
y Navathe, 1994)

Elementos Básicos

Los elementos básicos son entidades, interrelaciones y atributos.

Entidades. Las entidades se definen como:

13
Módulo Guía Desarrollo y Programación de Bases de Datos

"Una entidad es un objeto que se distingue de otros objetos por medio de un


conjunto específico de atributos" (Korth, 1995).

Las entidades representan clases de objetos de la realidad. PERSONA, MUNICIPIO,


PAÍS. Las entidades se representan gráficamente por rectángulos (Batini, Ceri y
Navathe, 1994).

Relaciones. Es una asociación entre varias entidades. (Korth, 1995). Se


representan por rombos

Atributos. Representan las propiedades básicas de las entidades. Se representan


por elipses.(Batini, Ceri y Navathe, 1994).

El Diagrama E-R, muestra además propiedades de opcionalidad y cardinalidad.

Opcionalidad u obligatoriedad. Una entidad puede tener o no relaciones de


pertenencia u ocurrencia con relación a otra entidad.

Cardinalidad. Indica el grado de relación de entre las entidades, que puede ser:
Uno a Uno, Uno a muchos, o muchos a muchos.

Diseño Lógico
Parte del esquema conceptual y da como resultado un esquema lógico. Un
esquema lógico es una descripción de la estructura de una base de datos que
puede procesar el software de SGBD. (Batini, Ceri y Navathe, 1994)

Diseño Físico
Parte del esquema lógico y da como resultado un esquema físico. Un esquema
físico es una descripción de la implantación de la base de datos en la memoria
secundaria; describe las estructuras de almacenamiento y los métodos usados para
tener un acceso efectivo a los datos, por lo anterior el esquema físico se adapta al
SGBD específico (Batini, Ceri y Navathe, 1994)

Calidad en Bases de Datos

La norma ISO 9126 (ISO, 1991) afirma que las características para describir la
calidad de un producto software son: funcionalidad, usabilidad, eficiencia, fiabilidad,
mantenibilidad y portabilidad.

Esquemáticamente se puede mostrar la relación entre la calidad en la información y


la calidad en las bases de datos:

14
Instituto Colombiano de Aprendizaje INCAP

Ahora miremos cada una de estas definiciones con más detalle.

¿Qué es una base de datos relacional?

Es una base de datos basada en un modelo relacional en la cual la información se


almacena de manera ordenada en diferentes entidades o tablas, las cuales se
encuentran relacionadas directa o indirectamente entre si y están conformadas por
una serie de atributos o campos.

Objetivos de los sistemas de bases de datos

Considérese parte de una empresa bancaria que guarda la información sobre todos
los clientes y cuentas en archivos de sistemas permanentes. Además, el sistema
tiene diversos programas de aplicación que permiten al usuario manejar los
archivos, como hacer abonos, añadir cuentas, gestionar el saldo, etc.

Según surge la necesidad se añaden nuevos programas de aplicación al sistema. El


típico sistema de procesamiento de archivos descritos esta apoyado por un sistema
operativo convencional.

El diseño e implementación de una base de datos relacional evita todos los


problemas generados por este tipo de sistema y sus desventajas, caracterizándose
por:

1. Impedir la Redundancia e inconsistencia de los datos. Puesto que los


archivos y los programas de aplicación son creados por distintos
programas durante un periodo largo de tiempo, es probable que tengan
distintos formatos, y puedes estar duplicados en varios sitios. Por
ejemplo, la dirección de un cliente puede aparecer en más de un
archivo. Esta redundancia aumenta los costos de almacenamiento y
acceso, y puede causar la inconsistencia de los datos.
2. Evitar la dificultad para tener acceso a los datos. Supóngase que se
necesita averiguar los nombres de los clientes que vienen a una
ciudad. Puesto que esta solicitud no fue prevista, no hay ningún
programa que la satisfaga. Tenemos dos opciones, coger la lista de
todos los clientes y extraer la información manualmente, o escribir el
programa de aplicación necesario. De ninguna manera dichas
opciones son satisfactorias. Lo que se trata de probar es que los
entornos convencionales de procesamiento de archivos no permiten
recuperar los datos necesarios de una forma conveniente y eficiente.
Deben utilizar sistemas de recuperación de datos para uso general.

15
Módulo Guía Desarrollo y Programación de Bases de Datos

3. El hecho de que todos los datos se encuentren relacionados impide el


alistamiento de los mismos.
4. Evitar anomalías del acceso concurrente. Para mejorar el
funcionamiento del sistema y obtener un tiempo de respuesta más
rápido, muchos sistemas permiten que los usuarios actualicen los
datos simultáneamente. En un entorno así, las actualizaciones
concurrentes pueden dar por resultado datos inconsistentes. Si una
cuenta tiene $500.000 y dos clientes retiran $500.000 y $100.000 casi
al mismo tiempo, el resultado de las ejecuciones concurrentes pueden
dejar la cuenta en un resultado incorrecto o inconsistente, la cuenta
puede contener $450.000 ó $400.000, en vez de $350.000. Para
prevenir esta posibilidad, debe mantener alguna forma de supervisión
en el sistema. Puesto que se puede acceder a los datos por medio de
diversos programas de aplicación, esta supervisión en una base de
datos relacional es fácil de proporcionar.
5. Se desechan los problemas de seguridad. No todos los usuarios del
sistema de BD deben poder a todos los datos. Por ejemplo, el personal
de nómina no necesita acceder a la información sobre la dirección de
los clientes.
6. Se evitan los problemas de integridad. Los valores de los datos
almacenados en la BD deben satisfacer ciertos tipos de restricciones
de consistencia. Por ejemplo, el saldo de una cuenta no debe caer por
debajo de una cantidad preestablecida. Estas restricciones se hacen
cumplir añadiendo códigos apropiados en los programas. Estas
dificultades, no se presentan implementando una base de datos
relacional.

Gestor De Base De Datos


Generalmente, las BD requieren una gran cantidad de espacio de almacenamiento,
se miden en gigabytes. Puesto que la memoria principal no puede almacenar toda
esa información, se almacena en discos. Ya que el movimiento de los datos y el
disco son lentos comparado con la CPU, es imperativo que el sistema de la BD
estructure los datos de forma que minimice la necesidad de mover los datos entre el
disco y la memoria.

El objetivo de un sistema de BD es simplificar y facilitar el acceso a los datos. Las


vistas de alto nivel ayudan a lograrlo. Un factor para la satisfacción o insatisfacción
del usuario con un sistema de BD es su funcionamiento. El funcionamiento de un

16
Instituto Colombiano de Aprendizaje INCAP

sistema depende de la eficiencia de las estructuras de datos usadas para


representar los datos y de la capacidad de eficiencia de operar sobre estas
estructuras de datos que el sistema tiene. Se debe llegar a un compromiso entre
espacio, tiempo y eficiencia.

Un gestor de BD es un módulo de programa que proporciona la interfaz entre los


datos de bajo nivel almacenados y los programas de aplicación y consultas, y es
responsable de las siguientes tareas:

1. Interacción con el gestor de archivos. El gestor de BD traduce las distintas


sentencias DML a comandos del sistema de archivos de bajo nivel. Así, es
responsable del verdadero almacenamiento de los datos.
2. Establecer la integridad. Los valores de los datos que se almacenan deben
satisfacer ciertos tipos de restricciones de consistencia, que debe especificar
explícitamente el administrador de la BD. El gestor de la BD entonces puede
determinar si se produce una violación de la restricción, si es así se debe
tomar la acción apropiada.
3. Establecimiento de la seguridad. Es trabajo del gestor de BD que se cumplan
los requisitos de seguridad.
4. Copia de seguridad y recuperación. Un sistema informático, esta sujeto a
fallos. Es responsabilidad del gestor de BD detectar fallos y restaurar la BD al
estado que existía antes de ocurrir el fallo. Esto se lleva a cabo normalmente
con procedimientos de copias de seguridad y recuperación.
5. Control de concurrencia. Cuando varios usuarios actualizan la BD de forma
concurrente, es posible que no se conserve la consistencia de los datos.
Controlar la interacción entre los usuarios concurrentes es otra
responsabilidad del gestor del BD.
6. Los sistemas de BD diseñados para computadores personales pequeños
pueden no tener todas las características apuntadas.

Diagrama Entidad-Relación

El modelo de datos entidad-relación (E-R) es un elemento gráfico el cual muestra


todas las tablas o entidades que contiene la base de datos, las relaciones existentes
entre las tablas y su cardinalidad máxima o mínima. Se desarrollo para facilitar el
diseño de una Base de Datos Relacional permitiendo la especificación de un
esquema empresarial, que representa la estructura lógica global de la Base De
Datos.
17
Módulo Guía Desarrollo y Programación de Bases de Datos

Permite representar con claridad las limitantes y características de los datos en una
base de datos relacional; es una herramienta para representar el mundo real por
medio de símbolos y expresiones determinadas.

Entidades y conjuntos de entidades

Una Entidad es un objeto que existe y es distinguible de otros objetos, por ejemplo
Pedro Cárdenas, con documentos de identidad 89.012.452, es una entidad, ya que
indica únicamente una persona específica. Una entidad puede ser concreta, como
un libro, o abstracta, como un concepto.

Una entidad está representada por un conjunto de atributos, cada entidad se


describe por medio de un conjunto de pares (atributo, valor de dato). Por tanto, una
BD incluye una colección de conjuntos de entidades cada uno de los cuales contiene
un número cualquier de entidades del mismo tipo.

Las entidades son representadas en el diagrama entidad relación mediante un


rectángulo y dentro de el irá el nombre de la tabla o entidad.

Ejemplo:
Estudiantes
En este caso se esta representando la entidad
estudiantes

Atributos

Conjunto de información con características y propiedades idénticas, la cual está


compuesta de varios registros.

Registros

Conjunto de información que a pesar de no tener características idénticas se


encuentra relacionada íntimamente entre sí. Esta información está compuesta por
varios campos.

Relaciones

Una relación es una asociación entre varias entidades, por ejemplo, podemos definir
una relación que asocia al cliente Pedro con la cuenta 001.

Una relación esta representada en el diagrama entidad relación por una línea
trazada entre una entidad y otra.

18
Instituto Colombiano de Aprendizaje INCAP

Estudiante Posee Libro

Es propiedad

Una relación puede leerse en cualquier dirección. Al leer de izquierda a derecha


usamos el enunciado que se encuentra en la parte superior de la línea; al leer de
derecha a izquierda usamos el enunciado que se encuentra debajo de la línea.

Estudiante

Es propiedad Posee

Libro

En el gráfico anterior la relación se lee de arriba a bajo por el lado derecho de la


línea y de abajo hacia arriba por el lado izquierdo de la línea.

Cardinalidad de la relación

La cardinalidad representa que tantos elementos de una tabla se relacionan con los
elementos de otra; la cardinalidad se expresa con un valor mínimo y un valor
máximo. El valor mínimo describe si la relación es opcional o requerida. El valor
máximo describe si la relación es singular o plural; la cardinalidad mínima y máxima
se debe indicar en varias direcciones, es decir que se deben tener cuatro puntos de
cardinalidad para expresar adecuadamente la naturaleza de la relación

19
Módulo Guía Desarrollo y Programación de Bases de Datos

Min Max Notación Gráfica

Cero A Uno

Cero A Muchos

Uno A Uno

Uno A Muchos

En la tabla anterior observamos las diferentes representaciones gráficas de los tipos


de cardinalidad y ahora mediante un ejemplo observaremos como se representa la
cardinalidad en una relación:

Posee
Estudiante Libro

Es propiedad

La gráfica establece la relación entre la entidad (tabla) Estudiante y la entidad (tabla)


libro; y se interpreta de la siguiente manera: Un estudiante puede poseer ninguno o
muchos libros y un libro es propiedad de uno y solo un estudiante.

Cardinalidad de los atributos

La cardinalidad del atributo declara que tantas instancias del atributo puede
aplicarse a una sola instancia de la entidad. Hay dos puntos de cardinalidad para
cada atributo, un valor mínimo y un valor máximo. El valor mínimo puede ser cero o
uno. Un mínimo de cero determina que el atributo, es opcional para cada instancia
de la entidad (acepta campos Null). Un mínimo de uno determina que el atributo es
requerido (no acepta campos Null). El valor máximo es de uno o muchos y
20
Instituto Colombiano de Aprendizaje INCAP

determina si el atributo puede repetirse para cada instancia de la entidad; si esto


ocurre es posible que el atributo se deba convertir en una entidad atributiva.

Para definir un atributo se debe tener en cuenta: el nombre que debe ser conciso y
comprensible, una definición que determina el significado y su uso en el sistema, la
cardinalidad explicada anteriormente, el tipo de datos que describe el tamaño y los
valores válidos, el rango de los datos, la unidad de medida, la precisión decimal y
por último los valores restringidos.

La cardinalidad de los atributos (campos) de una entidad se grafican de la siguiente


manera:

Entidad Libro

Cardinalidad Atributos Tipo Tamaño Clave


Dato
1-1 1-1 Cod_libro Varchar 5 Primaria
1-1 1-1 Nombre del Varchar 50
libro
1-1 1-1 Editorial Varchar 40
1-1 1-1 Volumen Int Defect
1-1 1-1 Cod_genero Varchar 4 Foranea
1-1 1-1 Cod_autor Varchar 4 Foranea

Claves

Clave Principal

Es un campo o conjunto de campos que hacen únicos e irrepetibles los registros en


una tabla

Clave Foránea

Es un campo que siendo clave principal es una tabla, se agrega a otra para
establecer la relación pertinente entre dichas tablas.

21
Módulo Guía Desarrollo y Programación de Bases de Datos

Usaremos el término clave primaria para denotar una clave candidata que elige el
diseñador de la BD como el medio principal de identificar los atributos dentro de una
entidad. Es posible que un conjunto de entidades no tenga atributos suficientes para
formar una clave primaria. Un conjunto de entidades de este tipo se denomina
conjunto de entidades débil, mientras que se denominará conjunto de entidades
fuerte si tiene una clave primaria.

Pasos para Diseñar una Base de Datos Relacional


Teniendo en cuenta los conceptos anteriormente descritos ahora los uniremos o
utilizaremos para diseñar una Base de Datos Relacional que a partir de ahora por
razones de comodidad la denominaremos BDR; pero antes debemos describir los
pasos para su diseño, los cuales nos permitirán tener éxito en nuestro objetivo.

Tales pasos son:

1) Determinar el propósito de la BDR: Nos ayudará a decidir que datos se


van a utilizar en el diseño y cual es el objetivo que se persigue. Se
deben enunciar si es posible los objetivos generales tanto como los
objetivos específicos; esto nos dará una visión mucho más amplia de lo
que se requerirá a nivel de información.
2) Determinar las Entidades (tablas) necesarias: Al momento de definir el
propósito de sebe dividir la información requerida en temas distintos,
por ejemplo Empleados, Productos. Para cada tema se diseñara una
entidad de la BDR-
3) Determinar las Atributos (campos) necesarios: En este momento se
debe definir la información que deseamos almacenar en las Entidades;
estos campos o Atributos se muestran como una columna en una
tabla.
4) Establecer las Relaciones entre Entidades: Se analizarán cada una de
las Entidades y se decidirá cómo se relacionan los datos de una
Entidad con los datos de otra Entidad. Para ello se deben utilizar
Claves Primarias y Claves Foráneas.
5) Refinar o realizar Mantenimiento a la BDR: Se deben hacer pruebas
con la información de tal manera que si se detecta algún error se
corrija antes de terminar. El mantenimiento es un paso que puede rotar
de posición, es decir que podemos realizarlo antes del segundo, tercer
o cuarto pasó.

22
Instituto Colombiano de Aprendizaje INCAP

Bien pasemos ahorra a la aplicación. Tipo de Evidencia: Diseño de producto.

Para estos talleres debemos entregar el modelo entidad – relación, que muestra la
posible solución a nuestros ejercicios planteados.

En este taller trabajaremos nuestro método inductivo – Activo

La primer Etapa es. Formador Dice- Formador Hace. Este es el problema


planteado.

Se requiere crear un sistema de información que permita administra el personal de


una compañía. Las características son las siguientes:

La compañía tiene un conjunto de departamentos.


Cada departamento tiene un conjunto de empleados, un conjunto de
proyectos y un conjunto de oficinas.
Cada empleado tiene una historia de cargos ocupados y una historia de
salarios recibidos por cargo.
Cada oficina tiene un conjunto de teléfonos.

El sistema debe tener la siguiente información:

Por cada departamento: Numero de departamento, nombre, presupuesto


anual, código del empleado jefe del departamento.
Por cada empleado: numero del empleado, nombre del empleado, dirección y
teléfono de la residencia, proyecto asignado, oficina y teléfono oficina.
También, cargos que ha desempeñado, junto con fecha y salarios recibidos
en el cargo.
Por cada proyecto. Numero del proyecto, nombre del proyecto, presupuesto
del proyecto.
Por cada oficina: Numero de la oficina, área en metros cuadrados, número
único de todos los teléfonos asignados a la oficina.

Además se sabe lo siguiente:

Un empleado se jefe de un departamento al tiempo.


Un empleado pertenece máximo a un departamento al tiempo.
Un empleado está vinculado máximo a un proyecto al tiempo.
Un empleado tiene máximo una oficina al tiempo
Un empleado tiene máximo un teléfono al tiempo.

23
Módulo Guía Desarrollo y Programación de Bases de Datos

Un empleado desempeña máximo un cargo al tiempo.


Un proyecto pertenece máximo a un departamento
Una oficina pertenece máximo a un departamento al tiempo.

Segunda parte el Formador Dice- Estudiante Hace. Esta es la información a la


cual ustedes le deben desarrollar una solución, y presentarla en un archivo Power
Point con el respectivo modelo entidad relación. Tipo de Evidencia: Diseño de
producto.

Nota: Recuerde en esta actividad usted puede contar con la asesoría de su


Formador.

Se quiere crear un sistema de información de recibido de órdenes, este debe


contener información sobre el cliente, ítems y ordenes. Se debe la siguiente
información:

Por cada cliente:


Numero del cliente
Dirección de envió
Balance
Limite del Crédito
Descuento
Por cada orden:
Numero del cliente
Dirección de envió(Una sola)
Número de identificación tributaria del cliente.
Forma de pago
Fecha de orden
Cantidad de ítems pedidos
Código del ítems
Cantidad despachada
Cantidad pendiente
Por cada ítem:
Código del ítem
Plantas que producen este ítem
Cantidad almacenada en cada planta que lo
produce
Descripción del ítem
24
Instituto Colombiano de Aprendizaje INCAP

Se sabe que:

No hay clientes con una dirección en común.


Cada orden se identifica con un numero único
Cada línea de orden se identifica por un numero de línea único dentro da la
orden.

Terminadas las primeras partes de la metodología” Método inductivo activo”,


pasemos a desarrollar la etapa Tres Estudiante Dice- Estudiante Hace. Tipo de
Evidencia: Diseño de producto.

Estos son los ejercicios

1. Se desea crea un sistema de información para una organización que vende


productos a clientes.

La organización tiene vendedores. Cada vendedor pertenece a una dependencia de


la organización y diferentes dependencias pueden tener vendedores.

Los clientes son compañías. De cada compañía interesa su número de código, su


nombre, su dirección de correspondencia, sus direcciones de envió de productos,
sus teléfonos.

Una dirección debe incluir el municipio según el código del DANE y el departamento.
Igual los teléfonos.

Cada compañía tiene asignado un vendedor. Un vendedor puede estar asignado a


varias compañías.

En una compañía se tiene personas contactos (Mínimo una). De cada contacto se


desea tener los siguientes datos: Código interno único, nombre y apellido, cargos
dentro de la compañía.

Se desea tener un registro de los resúmenes de ciertas conversaciones importantes


mantenidas por los vendedores con los contactos. De cada conversación importante
se desea: numero interno único, fecha, hora, código de la persona contacto, código
del vendedor, resumen de la conversación.

De los vendedores se desea tener: Código interno único, nombre y apellidos,


dependencia en la cual trabaja, rendimiento.

25
Módulo Guía Desarrollo y Programación de Bases de Datos

2. Se quiere crea un sistema de información para cada alcaldía menor que


cumpla con los siguientes requerimientos:

La alcaldía cubre un conjunto de barrios para cada unos de los cuales se desea
saber: Nombre, área, nivel socio económico, cantidad total de habitantes, Solamente
para aquellos barrios de nivel socio económico bajo se requiere tener información,
respecto a la cantidad de rutas de transporte que lo cubre.

Por cada barrio hay un conjunto de familias, para cada una de estas se desea tener
dirección, teléfono, ingreso familiar, tipo de habitación (propietario, arriendo,
familiar). Para las personas miembros de cada familia se requiere saber: Fecha y
lugar de nacimiento, nombre y si tiene identificación, número y tipo de documento.

Para los menores de 7 años, se requiere información detallada sobre: El uso de


guardería infantil y las enfermedades que tiene o ha tenido. Con respecto a los
jóvenes (7-18 años), información de tipo escolar (jornada, plantel, modalidad); los
adultos (mayores a 18 años), información de tipo laboral (empresa, cargo,
antigüedad, sueldo), en los casos de instituciones (guarderías, planteles educativos,
empresas, etc.), se requiere saber si pertenecen o no al área de la alcaldía.

Nota: Estos ejercicios debe entregarlos a su Formador como evidencia de este


capítulo.

Motor de Base de Datos SQL


El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones
de agregado. Estos elementos se combinan en las instrucciones para crear,
actualizar y manipular las bases de datos.

Existen dos tipos de comandos SQL:

 los DLL que permiten crear y definir nuevas bases de datos, campos e
índices.

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

Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
ALTER Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos.

26
Instituto Colombiano de Aprendizaje INCAP

Comandos DML

Comando Descripción
SELECT Utilizado para consultar registros de la base de datos que
satisfagan un criterio determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en
una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros
Especificados
DELETE Utilizado para eliminar registros de una tabla de una base de
datos

Cláusulas

Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.

Comando Descripción
FROM Utilizada para especificar la tabla de la cual se van a seleccionar
los registros
WHERE Utilizada para especificar las condiciones que deben reunir los
registros que se van a seleccionar
GROUP Utilizada para separar los registros seleccionados en grupos
BY específicos
HAVING Utilizada para expresar la condición que debe satisfacer cada
grupo
ORDER Utilizada para ordenar los registros seleccionados de acuerdo
BY con un
orden específico
Operadores Lógicos

Operador Uso
AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de
verdad sólo si ambas son ciertas.
OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de
verdad si alguna de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.

Operadores de Comparación
Operador Uso
< Menor que
> Mayor que

27
Módulo Guía Desarrollo y Programación de Bases de Datos

<> Diferente de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
In Utilizado para especificar registros de una base de datos

Funciones de Agregado
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de
registros para devolver un único valor que se aplica a un grupo de registros.

Función Descripción
AVG Utilizada para calcular el promedio de los valores de un campo
determinado
COUNT Utilizada para devolver el número de registros de la selección
SUM Utilizada para devolver la suma de todos los valores de un
campo
determinado
MAX Utilizada para devolver el valor más alto de un campo
especificado
MIN Utilizada para devolver el valor más bajo de un campo
especificado

Consultas de Selección
Las consultas de selección se utilizan para indicar al motor de datos que devuelva
información de las bases de datos, esta información es devuelta en forma de
conjunto de registros que se pueden almacenar en un objeto recordset. Este
conjunto de registros es modificable.

Consultas básicas

La sintaxis básica de una consulta de selección es la siguiente:


SELECT Campos FROM Tabla;
En donde campos es la lista de campos que se deseen recuperar y tabla es el origen
de los mismos, por ejemplo:
SELECT Nombre, Telefono FROM Clientes;
Esta consulta devuelve un recordset con el campo nombre y teléfono de la tabla
clientes.

28
Instituto Colombiano de Aprendizaje INCAP

Ordenar los registros

Adicionalmente se puede especificar el orden en que se desean recuperar los


registros de las tablas mediante la claúsula ORDER BY Lista de Campos. En donde
Lista de campos representa los campos a ordenar. Ejemplo:

SELECT CodigoPostal, Nombre, Teléfono FROM Clientes ORDER BY Nombre;

Esta consulta devuelve los campos CodigoPostal, Nombre, Teléfono de la tabla


Clientes ordenados por el campo Nombre. Se pueden ordenar los registros por más
de un campo, como por ejemplo:

SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY


CodigoPostal,Nombre;

Incluso se puede especificar el orden de los registros: ascendente mediante la


claúsula (ASC -se toma este valor por defecto) ó descendente (DESC)

SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal


DESC , Nombre ASC;

29
Módulo Guía Desarrollo y Programación de Bases de Datos

UNIDAD 2
MOTOR DE BASES DE DATOS SQLSERVER

Logros de competencia Laboral

3. Gestionar bases de datos aplicando sentencias SQL

Indicadores de Logro Evidencia de

Crea una base de datos con Microsoft Visual Studio


Producto
2008

1. CREACIÓN DE UNA BASE DE DATOS Tipo de Evidencia: Diseño de


producto.

1.1 Abrir el entorno de desarrollo Microsoft Visual Studio 2008

1.2 Crear un nuevo proyecto en Visual Basic llamado BaseDatos en File – New
Project … (Archivo – Nuevo Proyecto)

30
Instituto Colombiano de Aprendizaje INCAP

1.3 Seleccionar la pestaña Data Source (Fuente de Datos), normalmente al lado de


la pestaña del explorador de soluciones y dar clic en Add New Data Source
(Adicionar Nueva Fuente de Datos…). Nota: esta misma opción también está
disponible en el icono de la parte superior izquierda de esta pantalla y por el
menú Data – Add New Data Source (Datos – Adicionar Nueva Fuente de
Datos).

Aquí también se
puede adicionar
una nueva
fuente de datos

31
Módulo Guía Desarrollo y Programación de Bases de Datos

1.4 En el cuadro de dialogo, escoger un tipo de fuente de datos. Seleccionar


DataBase (Base de Datos) y luego dar clic en el botón Next (Siguiente).

32
Instituto Colombiano de Aprendizaje INCAP

1.5 Presionar el botón New Connection… (Nueva Conexión…) para crear una
conexión a una base de datos.

1.6 En el cuadro de dialogo Add Connection (Agregar Conexión), en la opción


Server name (Nombre del servidor) colocar el nombre del servidor a usar
ejemplo: .\SQLEXPRESS. Presionar el botón Test Connection (Probar
Conexión) para verificar la conexión al servidor.

1.7 En Connect to a database (Conectar a una base de datos) colocar el nombre


de la base de datos que desea crear, ejemplo: CatalogoProductos. Presionar el
botón Ok.

33
Módulo Guía Desarrollo y Programación de Bases de Datos

1.8 Aparece un mensaje indicando que la base de datos no existe y pregunta si se


desea crear. Presionar Yes (Si) para crearla.

34
Instituto Colombiano de Aprendizaje INCAP

1.9 En el cuadro de dialogo aparece la ruta de conexión a la base de datos que se


ha creado.

1.10 Presionando el botón Connection string podemos ver la cadena de


conexión completa.

Cadena de
Conexión

35
Módulo Guía Desarrollo y Programación de Bases de Datos

1.11 Luego de presionar Next (Siguiente), aparece un cuadro de dialogo que


pregunta si se desea guardar la cadena de conexión en el archivo de
configuración. Esta opción se deja seleccionada (facilita el mantenimiento o
modificación de la cadena de conexión por parte del desarrollador). Presionar el
botón Next (Siguiente).

1.12 Presionar Finish (Finalizar) para finalizar. Debido a que solo creamos la
base de datos, hasta el momento no contiene tablas.

36
Instituto Colombiano de Aprendizaje INCAP

1.13 En el Server Explorer (Explorador de Servidores), normalmente ubicado al


lado de la pestaña del Toolbox, se encuentra la base de datos que se acaba de
crear.

Base de Datos

2. CREACIÓN DE LAS TABLAS

2.1 Desplegamos la base de datos y seleccionamos el objeto Table (Tabla) y con el


lado derecho del Mouse escogemos la opción Add New Table (Agregar Nueva
Tabla).

37
Módulo Guía Desarrollo y Programación de Bases de Datos

2.2 Después de lo anterior aparece una pantalla donde agregamos los campos de
la tabla. En este ejemplo crearemos un catalogo de productos que comprende
las siguientes tablas: Categorías, Proveedores y Productos.

2.3 En primer lugar crearemos la tabla Categorías, la cual tendrá la siguiente


estructura:

Creamos el primer campo con el nombre Código y el tipo de dato tinyint


(seleccionar de la lista)

38
Instituto Colombiano de Aprendizaje INCAP

Para colocarla como clave primaria se debe dar clic en el icono Set Primary Key

Cuando damos clic sobre este icono aparece la llave al lado del campo

La llave amarilla
indica que el
campo es clave
primaria

Como es una clave primaria, la opción Allows Nulls queda sin seleccionar.

Para colocar el campo como Autonumérico, se debe configurar en la pestaña


Column Properties en la sección Identity Specification, se ajusta la propiedad (Is
Identity) = Yes

39
Módulo Guía Desarrollo y Programación de Bases de Datos

- Indica que es autonumérico.

- Increment = 1 indica que

realiza incrementos de 1.

- Seed = 1 indica que inicia la

cuenta en 1

A continuación creamos los campos restantes de la tabla Categorías.

El campo detalle aceptará


datos nulos (el campo es
opcional y se puede dejar sin
llenar)

2.4 Para guardar la tabla, damos clic en el icono Guardar, e inmediatamente sale
un cuadro donde colocamos el nombre de la tabla y presionamos Ok.

40
Instituto Colombiano de Aprendizaje INCAP

Después de esto, observamos que la estructura de la tabla ya aparece en la ventana


del Server Explorer (Explorador de Servidor).

Tabla Categorías y
sus campos

41
Módulo Guía Desarrollo y Programación de Bases de Datos

2.5 Crearemos la tabla Proveedores la cual tendrá la siguiente estructura:

La tabla resultante tendrá el siguiente aspecto:

2.5 Crearemos la tabla Productos la cual tendrá la siguiente estructura:

42
Instituto Colombiano de Aprendizaje INCAP

Inicialmente solo se define el campo IdProducto como clave primaria y


autonumérico y los demás campos (incluidos Código y Nit) se crean de manera
normal, mas adelante cuando se genere el Diagrama Entidad-Relación, se
definirán los campos Código y Nit como claves externas. La tabla resultante tendrá
el siguiente aspecto:

3. Generación del Diagrama Entidad-Relación

3.1 En el Server Explorer (Explorador de Servidor), dentro de los objetos de la base


de datos se encuentra la carpeta Database Diagrams (Diagramas de bases de
datos).

43
Módulo Guía Desarrollo y Programación de Bases de Datos

Generación de
diagramas de BD

3.2 Con el dado derecho del Mouse sobre Database Diagram damos clic en la
opción Add New Diagram.

3.3 Seleccionar todas las tablas y presionar el botón Add (Adicionar), luego
presionar el botón Close (Cerrar).

44
Instituto Colombiano de Aprendizaje INCAP

3.4 Después de esto se genera un diagrama donde aparecen las tres tablas.

3.5 En este paso estableceremos la relación entre las tablas Categorías y


Productos, seleccionando el campo Código de la tabla Categorías (dando clic
en la parte izquierda del mismo) y arrastrándolo hasta el campo Código de la

45
Módulo Guía Desarrollo y Programación de Bases de Datos

tabla Productos. Aparece un cuadro donde se indica el nombre de la relación y


los campos relacionados. Presionar Ok.

Este paso constituye la creación de la relación entre las tablas. La relación para este
caso se denomina relación de Uno a Muchos (una categoría puede tener muchos
productos, pero cada producto solo puede tener una categoría), además el campo
Código de la tabla Productos se denomina Clave Externa.

46
Instituto Colombiano de Aprendizaje INCAP

Gráficamente se observa una línea de unión entre las dos tablas que indican la
relación.

47
Módulo Guía Desarrollo y Programación de Bases de Datos

3.6 De igual manera establecemos la relación entre las tablas Proveedores y


Productos.

48
Instituto Colombiano de Aprendizaje INCAP

3.7 Estando el diagrama seleccionado damos clic sobre el botón Save (Guardar), se
despliega un cuadro donde le colocamos un nombre al Diagrama Entidad-
Relación. Le asignamos un nombre y presionamos el botón Ok.

3.8 Se despliega un cuadro de dialogo indicando que los nuevos cambios se


guardaran en la base de datos. Presionar Yes (Si) para continuar.
49
Módulo Guía Desarrollo y Programación de Bases de Datos

3.9. En el Server Explorer (Explorador de Servidor), queda el diagrama que se


acaba de generar.

http://technet.microsoft.com/es-es/library/ms189049(SQL.90).aspx

50
Instituto Colombiano de Aprendizaje INCAP

UNIDAD 3

GESTIONAR BASES DE DATOS CREADAS EN SQL SERVER CON VISUAL


BASIC.NET

Logros de competencia Laboral

4. Desarrollar aplicaciones en Visual Basic.Net con acceso a Bases de Datos.

Indicadores de Logro Evidencia de

Crea una base de datos con Microsoft Visual Studio


Producto
2008.

Cumple con los requerimientos técnicos y con las


exigencias del usuario final en el diseño e Desempeño
implementación de la base de datos.

Crea discos de distribución que permiten instalar la


aplicación de manera adecuada en equipos de Producto
cómputo que trabajan bajo ambiente Windows.

51
Módulo Guía Desarrollo y Programación de Bases de Datos

1. Crear la Conexión a la Base de Datos Tipo de Evidencia: Diseño de


producto.

1.1 En primer lugar creamos un nuevo proyecto de reporte de Visual Basic llamado
ConsultasBaseDatos.

52
Instituto Colombiano de Aprendizaje INCAP

1.2 Adicionamos una nueva conexión (si ya fue realizada previamente, no es


necesario volverla a hacer). Seleccionar la pestaña Data Source (Fuente de
Datos), normalmente al lado de la pestaña del explorador de soluciones y dar
clic en Add New Data Source (Adicionar Nueva Fuente de Datos…). Nota: esta
misma opción también está disponible en el icono de la parte superior izquierda
de esta pantalla y por el menú Data – Add New Data Source (Datos – Adicionar
Nueva Fuente de Datos).

1.3 En el cuadro de dialogo, escoger un tipo de fuente de datos. Seleccionar


Database (Base de Datos) y luego dar clic en el botón Next (Siguiente).

53
Módulo Guía Desarrollo y Programación de Bases de Datos

1.4 Presionar el botón New Connection… (Nueva Conexión…) para crear una
conexión a una base de datos.

1.5 En el cuadro de dialogo Add Connection (Agregar Conexión), en la opción


Server name (Nombre del servidor) colocar el nombre del servidor a usar
ejemplo: .\SQLEXPRESS. Presionar el botón Test Connection (Probar
Conexión) para verificar la conexión al servidor.

1.6 En Connect to a database (Conectar a una base de datos) colocar el nombre


de la base de datos a conectar, ejemplo: CatalogoProductos. Presionar el botón
Ok.

54
Instituto Colombiano de Aprendizaje INCAP

1.7 En el cuadro de dialogo aparece la ruta de conexión a la base de datos que se


ha creado.

55
Módulo Guía Desarrollo y Programación de Bases de Datos

1.8 Presionando el botón Connection string podemos ver la cadena de conexión


completa.

1.9 Luego de presionar Next (Siguiente), aparece un cuadro de dialogo que


pregunta si se desea guardar la cadena de conexión en el archivo de
configuración. Esta opción se deja seleccionada (facilita el mantenimiento o
modificación de la cadena de conexión por parte del desarrollador). Presionar el
botón Next (Siguiente).

56
Instituto Colombiano de Aprendizaje INCAP

Aparece una pantalla donde se encuentra los objetos disponibles

1.10 Seleccionamos las tablas Categorías, Productos y Proveedores.


Presionamos el botón Finish (Finalizar).

57
Módulo Guía Desarrollo y Programación de Bases de Datos

1.11 En las fuentes de datos aparecen las tres tablas adicionadas.

2. Visualización de una Consulta a una Tabla Automáticamente

2.1 Para generar un formulario con una sola tabla solo es necesario arrastrar la
tabla desde la pestaña Data Source (Fuentes de Datos) hasta el formulario. Por
ejemplo, si arrastramos la tabla Categorías, obtenemos el siguiente resultado:

Al ejecutar la aplicación (presionando F5), se visualizan los datos de la tabla.

58
Instituto Colombiano de Aprendizaje INCAP

La tabla generada de manera automática por Visual Basic también contiene en la


parte superior una barra de herramientas que permite ejecutar las siguientes tareas:

Navegar por los registros (Primero, Anterior, Siguiente y Ultimo).


Adicionar un nuevo registro.
Borrar un registro.
Guardar los cambios en la base de datos.

En la bandeja de objetos (ubicada en la parte inferior), aparecen todos los objetos


asociados a la tabla del formulario.

También es posible adicionar una tabla de detalle a un formulario, para esto


debemos cambiar la configuración por defecto antes de arrastrar la tabla.
59
Módulo Guía Desarrollo y Programación de Bases de Datos

Al seleccionar Details (Detalle), el icono que representa la tabla cambia.

Antes de agregar la tabla Proveedores, adicionamos un nuevo formulario al


proyecto, para esto, con clic derecho en el Solution Explorer (Explorador de
Soluciones) sobre el nombre del proyecto seleccionamos Add – Windows Form…
(Adicionar – Formulario Windows).

60
Instituto Colombiano de Aprendizaje INCAP

En el cuadro de dialogo que aparece, colocamos el nombre al nuevo formulario


(Proveedores.vb). Presionamos el botón Add.

Seleccionamos la pestaña Data Sources (Fuentes de Datos), arrastramos la


tabla Proveedores y la soltamos sobre el formulario. El resultado en modo de
edición es el siguiente:

61
Módulo Guía Desarrollo y Programación de Bases de Datos

Para ejecutar el formulario Proveedores, primero se debe configurar el proyecto. En


la pestaña Data Sources (Fuentes de Datos) dar doble clic sobre la carpeta My
Project (Mi Proyecto)

Inmediatamente se despliega una pestaña donde podemos configurar el formulario


que se ejecutará inicialmente. Para esto seleccionamos el formulario que deseamos
ejecutar inicialmente en la opción Startup Form (Formulario Inicial).

62
Instituto Colombiano de Aprendizaje INCAP

Al ejecutar la aplicación se despliegan los datos del primer registro de la tabla


Proveedores.

3. Visualización de una Consulta a una Tabla a Partir de un Objeto de Datos

3.1 Agregar un nuevo formulario y colocarle el nombre Productos.

63
Módulo Guía Desarrollo y Programación de Bases de Datos

3.2 En el Toolbox (Caja de Herramientas), en la sección Datos, seleccionar


DataGridView.

64
Instituto Colombiano de Aprendizaje INCAP

3.3 Arrastrar el objeto DataGridView y soltarlo sobre el formulario. El objeto se


agrega al formulario y queda vacío.

3.4 Para configurar el DataGridView , dar clic en el SmartTag para escoger una
fuente de datos.

3.5 Seleccionamos la tabla Productos de Other Data Sources – Project Data


Source – CatalogoProductosDataSet (Otras Fuentes de Datos – Proyecto
Fuente de Datos – CatalogoProductosDataSet)

65
Módulo Guía Desarrollo y Programación de Bases de Datos

3.6 En modo de edición aparecen todos los campos de la tabla que se visualizarán.

3.7 Al ejecutar el formulario (previa selección del mismo en My Project), se observa


de la siguiente manera:

3.8 Todos los objetos asociados a la tabla aparecen en la bandeja de objetos.

66
Instituto Colombiano de Aprendizaje INCAP

4. Formulario Maestro - Detalle

4.1 Agregar un formulario llamado MaestroDetalle.

67
Módulo Guía Desarrollo y Programación de Bases de Datos

4.2 Agregar dos DataGridView al formulario.

4.3 Al DataGridView de la parte superior adicionarle la tabla Categorías.

68
Instituto Colombiano de Aprendizaje INCAP

El formulario puede lucir de la siguiente forma:

4.4 Al DataGridView de la parte inferior agregar la relación


FK_Productos_Categorias.

69
Módulo Guía Desarrollo y Programación de Bases de Datos

4.5 Los dos DataGridView lucen de la siguiente forma en modo de edición.

4.6 Para mejorar la presentación del formulario ajustar las siguientes propiedades
del DataGridView.

70
Instituto Colombiano de Aprendizaje INCAP

Aplicando las propiedades el formulario lucirá así:

4.7 Al ejecutar el formulario se observa lo siguiente:

Al seleccionar la categoría con Código 3, se observa en la parte inferior los


productos asociadas a esta categoría.

71
Módulo Guía Desarrollo y Programación de Bases de Datos

1. Creación de la Vista para el Reporte Tipo de Evidencia: Diseño de producto.

En esta guía vamos a crear un reporte que nos muestra el catalogo completo de
productos vigentes, el cual incluye la descripción de la categoría y el nombre del
proveedor. Debido a que el reporte involucra más de una tabla, la creación de una
vista es una buena opción para tener los datos preparados en un solo objeto.

1.1 En primer lugar creamos un nuevo proyecto de reporte de Visual Basic llamado
ReporteBaseDatos.

72
Instituto Colombiano de Aprendizaje INCAP

1.2 Adicionamos una nueva conexión (si ya fue realizada previamente, no es


necesario volverla a hacer). Seleccionar la pestaña Data Source (Fuente de
Datos), normalmente al lado de la pestaña del explorador de soluciones y dar
clic en Add New Data Source (Adicionar Nueva Fuente de Datos…). Nota: esta
misma opción también está disponible en el icono de la parte superior izquierda
de esta pantalla y por el menú Data – Add New Data Source (Datos – Adicionar
Nueva Fuente de Datos).

73
Módulo Guía Desarrollo y Programación de Bases de Datos

1.3 En el cuadro de dialogo, escoger un tipo de fuente de datos. Seleccionar


DataBase (Base de Datos) y luego dar clic en el botón Next (Siguiente).

1.4 Presionar el botón New Connection… (Nueva Conexión…) para crear una
conexión a una base de datos.

74
Instituto Colombiano de Aprendizaje INCAP

1.5 En el cuadro de dialogo Add Connection (Agregar Conexión), en la opción


Server name (Nombre del servidor) colocar el nombre del servidor a usar
ejemplo: .\SQLEXPRESS. Presionar el botón Test Connection (Probar
Conexión) para verificar la conexión al servidor.

1.6 En Connect to a database (Conectar a una base de datos) colocar el nombre


de la base de datos a conectar, ejemplo: CatalogoProductos. Presionar el botón
Ok.

75
Módulo Guía Desarrollo y Programación de Bases de Datos

1.7 En el cuadro de dialogo aparece la ruta de conexión a la base de datos que se


ha creado.

76
Instituto Colombiano de Aprendizaje INCAP

1.8 Presionando el botón Connection string podemos ver la cadena de conexión


completa.

1.9 Luego de presionar Next (Siguiente), aparece un cuadro de dialogo que


pregunta si se desea guardar la cadena de conexión en el archivo de
configuración. Esta opción se deja seleccionada (facilita el mantenimiento o
modificación de la cadena de conexión por parte del desarrollador). Presionar el
botón Next (Siguiente).

77
Módulo Guía Desarrollo y Programación de Bases de Datos

Aparece una pantalla donde se encuentra los objetos disponibles

1.10 Seleccionamos las tablas Categorías, Productos y Proveedores.


Presionamos el botón Finish (Finalizar).

78
Instituto Colombiano de Aprendizaje INCAP

1.11 En las fuentes de datos aparecen las tres tablas adicionadas.

1.12 En el Server Explorer (Explorador de Servidor) aparece la base de datos y


toda su estructura.

1.13 Dar clic derecho sobre la carpeta Views (Vista) y seleccionar la opción Add
New View (Adicionar Nueva Vista).

79
Módulo Guía Desarrollo y Programación de Bases de Datos

1.14 En el cuadro seleccionar y adicionar las tres tablas, presionar el botón Close
(Cerrar).

Las tablas quedan adicionadas en el editor de vistas

80
Instituto Colombiano de Aprendizaje INCAP

1.15 En la tabla Productos seleccionamos los campos Idproducto, Descripción,


PrecioUnitario, Presentación. De la tabla Categorías seleccionamos el campo
Nombre. De la tabla Proveedores seleccionamos el campo Empresa.

El editor genera automáticamente la siguiente consulta.

1.16 Adicional a lo anterior, colocamos una condición igual a cero para el campo
Descontinuado para asegurar que solo se muestren los productos vigentes (el
campo debe quedar sin seleccionar para que no se muestre en la vista).

81
Módulo Guía Desarrollo y Programación de Bases de Datos

1.17 Presionamos el icono Execute SQL para validar el funcionamiento de la


vista.

En la parte inferior del editor aparece el resultado de la consulta.

82
Instituto Colombiano de Aprendizaje INCAP

1.18 Presionamos el icono Save (Guardar) y aparece un cuadro donde digitamos


el nombre de la vista. Presionamos Ok para guardar la vista.

La vista aparece el Server Explorer (Explorador de Servidor)

83
Módulo Guía Desarrollo y Programación de Bases de Datos

2. Generación del Reporte Tipo de Evidencia: Diseño de producto.

2.1 En el Solution Explorer (Explorador de Soluciones) seleccionar


ReportesBaseDatos, con clic derecho, seleccionar Add – New Item… (Agregar
Nuevo Item).

84
Instituto Colombiano de Aprendizaje INCAP

2.2 En Common Items – Reporting (Items Comunes – Reportes), seleccionar la


plantilla Report Wizard (Asistente para Reportes) y presionar el botón Add
(Agregar).

85
Módulo Guía Desarrollo y Programación de Bases de Datos

2.3 Aparece un cuadro inicial del asistente de reportes indicando las tareas que se
ejecutarán, las cuales incluyen: Selección de la fuente de datos, escoger el tipo
de reporte a crear, especificar la distribución básica del reporte y especificar el
formato del reporte. Presionar el botón Next (Siguiente para continuar).

86
Instituto Colombiano de Aprendizaje INCAP

2.4 En esta pantalla se escoge el tipo de fuente de datos, seleccionamos Database


(Base de datos). Presionamos Next (Siguiente) para continuar.

2.5 Seleccionamos la cadena de conexión existente y presionamos el botón Next.

87
Módulo Guía Desarrollo y Programación de Bases de Datos

Aparece una pantalla con los objetos disponibles para nuestro reporte.

2.6 Seleccionamos la vista vwReporte y presionamos Finish.

88
Instituto Colombiano de Aprendizaje INCAP

2.7 Seleccionamos la fuente de datos para el reporte y damos clic sobre el botón
Next.

2.8 Seleccionamos el tipo de reporte Tabular y presionamos el botón Next.

89
Módulo Guía Desarrollo y Programación de Bases de Datos

2.9 Ubicamos los campos de acuerdo al diseño deseado usando los botones Page
(Página), Group (Grupo) y Details (Detalles). Presionamos el botón Next para
continuar.

90
Instituto Colombiano de Aprendizaje INCAP

2.10 Escogemos la distribución de la tabla de acuerdo con las opciones


disponibles. Presionamos el botón Next para continuar.

91
Módulo Guía Desarrollo y Programación de Bases de Datos

2.11 Seleccionamos el estilo de la tabla de acuerdo a las opciones disponibles.


Presionar el botón Next para continuar.

92
Instituto Colombiano de Aprendizaje INCAP

2.12 Al final muestra todas las opciones configuradas. Presionar el botón Finish.

2.13 El reporte aparece en el editor

93
Módulo Guía Desarrollo y Programación de Bases de Datos

2.14 El título y el ancho de filas y columnas pueden ajustarse directamente sobre


el reporte. Realizando algunos cambios el reporte pude lucir así:

Dar clic en el botón Save para guardar los últimos cambios realizados

3. Despliegue del Reporte

3.1 En la pestaña Toolbox en la zona Reporting seleccionar


MicrosoftReportViewer y arrastrarlo hasta el formulario.

94
Instituto Colombiano de Aprendizaje INCAP

3.2 En el formulario aparece el reporte en blanco (ReportViewer1 incrustado) el


cual se ajustará a continuación.

3.3Con la etiquete de la parte superior del objeto ReportViewer1 seleccionamos el


reporte previamente creado.

95
Módulo Guía Desarrollo y Programación de Bases de Datos

3.4 Los objetos asociados al reporte aparecen la parte inferior del formulario.

96
Instituto Colombiano de Aprendizaje INCAP

3.5 Al correr la aplicación se visualiza el reporte con los datos correspondientes al


catálogo de productos.

3.6 El reporte cuenta con las siguientes opciones:

Navegación

Refrescar el reporte por páginas

Opciones de impresión

Vista previa del reporte

Ajuste de página

Exportar a Excel ó Pdf

Vista por tamaños

Búsqueda de texto

97
Módulo Guía Desarrollo y Programación de Bases de Datos

Proyecto Final
En la Empresa "Educando S.A" se lleva control de sus Bienes y Servicios. El interés
primario es poder hacer que los Bienes se manejen de forma rápida y con el menor
grado de error. Para esto quien maneja la sección de "Bienes y Suministros" plantea las
siguientes condiciones del negocio para la construcción de una base de datos:

La Sección está dividida en tres (3) áreas: COMPRAS, ALMACEN, INVENTARIO.


El área de Compras funciona de la siguiente forma:

Recibe las solucitudes de compras de las diferentes áreas de la empresa.


Cada solicitud tiene un responsable.

Cada solicitud es autorizada por el jefe del área y posteriormente por el Director
Financiero.

Quien realiza una solicitud puede ser responsable de uno o varios centros de costos,
con la salvedad de que él como empleado solo está adscrito a uno.

De la solicitud se debe diligenciar la siguiente información: Número de la solicitud


(consecutivo), Fecha, Responsable (nombre y cédula), Centro de Costos, Rubro
presupuestal del cual se descargará la compra. En cada solicitud se pueden discriminar
uno o muchos items con la siguiente información: item, nombre del bien, cantidad
solicitada, unidad de medida del bien, valor unitario y valor total. Cada solicitud debe
ser totalizada.

Cada bien es identificado por un código universal que es único y es de caracter


devolutivo (suministro) o un bien inmueble.

Una vez diligenciada la solicitud es remitida al área de compras para realizar su


correspondiente cotización.

Las cotizaciones son realizadas con uno o varios proveedores de los bienes solicitados.
Una vez la cotización definitiva está lista, se crea una orden contractual que maneja la
siguiente información: Número de la orden contractual, nit y nombre del proveedor al
cual se le va a realizar la compra, fecha de la orden, monto total de la orden, fecha de
entrega.

Cada orden puede tener asociado uno o varios items de la solicitud o solicitudes que
van a ser despachadas. Cada item tiene la siguiente información: nombre del bien,
cantidad solicitada, cantidad despachada, unidad de medida del bien, valor unitario y
valor total.

98
Instituto Colombiano de Aprendizaje INCAP

La orden de compra es aprobada por el Director Financiero para que sea enviada al
proveedor elegido.

El área de Almacén funciona de la siguiente forma:


Su función principal es recepcionar los bienes que llegan de los proveedores y
distribuirlos a las correspondientes áreas que realizaron las solicitudes de compras.

Cuando llega un proveedor mercancía, este hace una entrega física de los bienes, los
cuales son comparados con la factura que este entrega y con la orden de compra
correspondiente. Si esta acción es correcta se registra una entrada de almacén por
cada factura relacionada, con la siguiente información: Número de Entrada, Fecha,
Número de factura, Proveedor, Total Bienes, Valor Total (los totales deben coincidir
con los de la factura). Adjunto a esta se discriminan los items recibidos con la
siguiente información: nombre del bien, cantidad entregada.

Cuando el almacén decide despachar los bienes a las diferentes áreas solicitantes,
registra cada una de las entregas en Salidas de Almacén con la siguiente información:
Número de Salida, Empleado responsable del bien a entregar, fecha de salida, fecha
de entrega. Por cada entrega se detalla cada uno de los items con la siguiente
información: nombre del bien, cantidad entregada. Una entrada de almacén puede
generar muchas salidas de almacén, por ejemplo: Pueden ingresar 500 pacas de papel
higiénico, pero como se debe repartir entre varias áreas, cada una requiere de una
salida de almacén.

El área de inventarios funciona de la siguiente forma:


Es la encargada de administrar y controlar la ubicación de los bienes dentro de la
empresa, por esto antes de que el bien salga del almacén debe ser codificado a través
de un código único que lo haga identificable dentro de la empresa.

La ubicación del bien se identifica por la siguiente información: responsable del bien,
fecha de entrega, dirección del bien (ubicación).

Se debe construir: El modelo Conceptual a través del MER y la Estructura de


datos. Generar consultas, y reportes. Tipo de Evidencia: Diseño de Producto.

99
Módulo Guía Desarrollo y Programación de Bases de Datos

BIBLIOGRAFÍA

1. Memorias del Autor. Luis Hernando Prieto Olivares


2. Visual Basic 2008, Charte, Francisco (ANAYA MULTIMEDIA), 1ª edición
(19/09/2008).
3. Bases De Datos Con Visual Basic .net Francisco Charte Ojeda (ANAYA
MULTIMEDIA) 1ª edición (23/10/2002).
4. Visual Basic .net. Lenguaje Y Aplicaciones. CEBALLOS, F.J. (Editorial Ra-
ma) 1ª edición (09/2005).
5. Programación en Visual Basic .NET, Luis Miguel Blanco, 1ª edición 2002
6. Visual Basic.NET (VB.NET) Programe con Visual Studio 2008
Autor: Thierry GROUSSAR
7. Librerias de MSDN de MicroSoft
http://msdn.microsoft.com/es -es/vstudio/default.aspx

100

Vous aimerez peut-être aussi