Professional Documents
Culture Documents
.Práctica Nº 1 Pág. 1 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Derivados: Cuando sus valores se derivan de otros atributos. Por ejemplo: Promedio toma valores co-
mo consecuencia de promediar los valores de Práctica, Examen y Trabajo. Y Observación toma los va-
lores Aprobado o Desaprobado según Promedio sea mayor o igual a 11 y menor a 11.
¾ Una clave de una entidad E (A1, A2,…, An) es un conjunto minimal K de atributos de E que identifican de manera
única a una ocurrencia de la entidad E. Como hay varios conjuntos de atributos que cumplen la condición de cla-
ve, cada una de las posibles claves se llama clave candidata CK.
Por ejemplo: Para la entidad Profesor (Cod_profesor, Apellido, Nombre, Sexo, Fecha_nacimiento, Grado_título,
DNI, Dirección, Teléfono, Pago, Asesor): Cod_profresor, (Apellido, Nombre), DNI son claves candidatas.
¾ Una clave primaria o principal PK de una entidad E (A1, A2,…, An) es una clave candidata elegida por el técnico
para identificar de manera única e inconfundible a una ocurrencia de la entidad E. Toda clave primaria es única.
Por ejemplo: Cod_profesor es una clave primaria de la entidad Profesor. Es mejor que (Apellido,
Nombre) porque puede haber personas con el mismo nombre y apellido y mejor que DNI porque para ser profe-
sor no se requiere necesariamente de este documento.
¾ Una clave foránea es un atributo (o combinación de atributos) que contiene un valor que hace referencia a una
instancia de otra entidad (en algunos casos puede ser la misma entidad) donde el atributo o combinación de atri-
butos es clave primaria. Formalmente podemos definirla como sigue:
Sean E y F dos entidades y sea K un conjunto de atributos comunes a E y F y donde K es clave primaria de F. En-
tonces diremos que K es una Clave foránea de E. E se llama Entidad que referencia y F se llama Entidad refe-
renciada.
Por ejemplo: Para Alumno (Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno,
Tel_alumno, Fot_alumno, Esp_alumno, Condición) tenemos que Clave Primaria = Cod_alumno y Clave Forá-
nea = Esp_alumno porque Esp_alumno es clave primaria de Especialidad (Esp_alumno, Descripción)
¾ Una interrelación es una correspondencia bilateral entre entidades. Se denota por IR (E1: E2:…En) donde Ei es una
entidad y n es el número de entidades que intervienen en la interrelación y se llama grado de la interrelación. Por
el grado una interrelación puede ser: Binaria: Si el grado n = 2, Ternaria: Si el grado n = 3, Unaria (Reflexiva):
Si el grado n = 1 y n-aria: Si el grado es n > 3.
Por ejemplo: Para la academia podemos definir las siguientes interrelaciones binarias:
Dicta/ Es_dictada_por (Profesor : Curso)
Está_matriculado_en/ Matricula_a (Alumno : Curso)
Tiene / Tiene_una (Especialidad : Alumno)
Y la relación unaria Asesora_a / Es_asesorado_por (Profesor : Profesor)
♦ Las interrelaciones y sus cardinalidades pueden ser:
De uno a muchos con identificación (Identifying relationship) cuando la entidad su-
bordinada necesita de la clave de la entidad padre para identificarse. Cuando un atributo de la
entidad Padre (Parent) es parte de la clave primaria (PK), automáticamente se convierte en
parte de la clave primaria de la entidad Hija (Child) y además se convierte en clave foránea de
la entidad Hija (Child).
Dicta /
Profesor Curso
Es_dictado_por
.Práctica Nº 1 Pág. 2 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Hace_uso_de / PC
Alumno Es_usada_por
Z
Columnas: Atributos
Nota: En terminología de SQL se habla de filas y columnas. Se llama dominio al conjunto de todos los posibles valores
que puede tomar un atributo.
¾ Una base de datos de SQL Server consta de una colección de tablas con datos y otros objetos como vistas,
índices, procedimientos almacenados y desencadenantes, que se definen para poder llevar a cabo distintas opera-
ciones con datos. Los datos almacenados en una base de datos suelen estar relacionados con un tema o un proceso
determinados como, por ejemplo, la información de inventario para el almacén de una fábrica. Antes de crear una
base de datos, es importante entender las partes que la componen y cómo diseñarlas para asegurar que la base de
datos funcione correctamente una vez implementada.
¾ Un Sistema de Gestión de Bases de Datos (SGBD) o DBMS (DataBase Mangement System): Es un software
especializado en la gestión de bases de datos. Algunos de ellos son SQL Server 2000, Access, Visual FoxPro, Pa-
radox, Interbase, Visual dBase, Oracle, DB2, Sybase, etc.
¾ El diseño de base de datos es una actividad necesaria que tiene como finalidad crear bases de datos fáciles de
administrar, usar y mantener. Construir una base de datos sin diseño es como construir un edificio sin planos. El
diseño de BD tiene 3 fases:
♦ Diseño Conceptual: Es la representación de los requerimientos del problema y que se representa me-
diante el Esquema Conceptual que es el Diagrama Entidad/ Interrelación de Chen. En esta etapa aun no
se conoce el modelo de datos a usar, que pueden ser el Reticular, Jerárquico, Relacional, Dimensional o
el Orientado a Objetos.
♦ Diseño Lógico: El objetivo es transformar el Esquema Conceptual en Esquema Lógico que se basa en
el modelo de datos Relacional que se basa en tablas donde la información se almacena en filas y co-
lumnas. Tiene 2 fases:
Diseño Lógico Estándar: Que tiene en cuenta sólo el modelo de datos (Relacional) y tipos de
datos genéricos. Transforma el Esquema Conceptual en Esquema Lógico Estándar. En el
ERWIN se le llama modelo lógico.
Diseño Lógico Específico: Que tiene en cuenta el SGBD (Sistema de Gestión de BD) a utili-
zarse que en nuestro caso es el SQL Server 2000 y maneja los tipos de datos soportados por es-
te SGBD. Transforma el Esquema Lógico Estándar en Esquema Lógico Específico. En el
ERWIN se le llama modelo físico. En esta fase se puede crear también índices, vistas, desen-
cadenantes y procedimientos almacenados. Esta fase incluye también el proceso de normaliza-
ción. ERWIN normaliza hasta la 3FN.
♦ Diseño Físico: Transforma el Esquema Lógico Específico en Esquema Físico generando las respecti-
vas tablas de la BD.
¾ La normalización es un proceso que busca eliminar anomalías, ambigüedades, pérdidas y reducir al máximo las
redundancias en las bases de datos. Para esto se transforman las tablas en tablas equivalentes a través de restriccio-
nes. Cada restricción es una forma normal. Existen 6 formas normales fundamentales: 1FN (1ra Forma Normal),
2FN (2da. FN), 3FN (3ra. FN), FNBC (Forma Normal Boyce – Codd), 4FN (4ta. FN) y 5FN (5ta FN).
Para definir el concepto de normalización es necesario conocer el concepto fundamental de dependencia funcio-
nal entre atributos:
♦ Dada una tabla o relación R (A1, A2,…, An) donde A ={ A1, A2,…, An } es el conjunto de atributos de la
tabla R. Un descriptor X de R, es cualquier subconjunto X ⊂ A.
Práctica Nº 1 Pág. 3 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Práctica Nº 1 Pág. 4 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
♦ Los procedimientos almacenados son scripts (secuencias de comandos SQL) o pequeños programas
que se almacenan en la BD para tareas frecuentes y necesarias, para ejercer un control adecuado en la
administración de la BD. [Store Procedures]
0. Previamente crear con WINDOWS XP una carpeta y subcarpetas en el drive C, D, E ... (aquel que tenga
entre paréntesis (libre), por ejemplo E(Libre)) dentro de con tu nombre o código, por ejemplo, si tu nombre
es Muriel (No se puede trabajar en disquetes. Evitar espacios en blanco o caracteres especiales en los nom-
bres). Es recomendable sacar siempre copia de los archivos de trabajo.
Práctica Nº 1 Pág. 5 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Figura 1
1.2 Identificar los elementos de la Caja de herramientas (Toolbok) (Figura 2) del ERWIN 4.1.:
Figura 2
ª ¿Qué hace c/u de los iconos de esta Caja de herramientas (Toolbox)?
1.3 Ir al menú Model/Model Properties y en el recuadro Auto–Transform Logical Objects ¿Qué ocurre?
Marcar las dos opciones:
; Many-to-Many Relationships with Association Table
; Supertype/Subtype with Identifying Relationships
) Confirmar con OK.
1.4 En la Barra de herramientas (ToolBar) (Figura 3) que esta debajo del menú principal hacer click en el
icono Entity level:
Figura 3
1.4.1 Hacer click en el icono de Entity de la Caja de herramientas (Toolbox) y crear las siguientes
entidades: Profesor, Curso, Alumno y Especialidad. Ver Figura 4.a
Profesor Curso Alumno
Especialidad
Figura 4.a
1.4.2 En la Barra de Herramientas (ToolBar) (Figura 3) hacer click en el icono Definition Level ¿Qué
ocurre con la Figura 4.a?
1.5 Señalar con el ratón c/u de las entidades, abrir el menú contextual con el botón derecho del ratón y elegir la
opción Entity Properties y usando la ficha Definition dar las siguientes definiciones para c/u de las enti-
dades (Figura 4.b):
ª Profesor: Persona empleada por la academia, cuya responsabilidad es dictar Cursos a los alumnos.
ª Alumno: Persona que está matriculada en las Cursos y debe asistir a las clases y ser evaluado.
ª Curso: Contenido de la materia que se desarrolla en Cursos.
ª Especialidad: Rama de la computación en la que se especializa un alumno.
Práctica Nº 1 Pág. 6 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Profesor Alumno
Curso
Persona empleada por la academia, cuya Persona que está matriculada en las
responsabilidad es dictar clases a los Contenido de la materia que se
clases y debe asistir a las sesiones de
alumnos. desarrolla en clases.
clase.
Especialidad
Rama de la computación en la que se
especializa un alumno.
Figura 4.b
Nota: El archivo debe guardarse como Academia(La extensión es .er1 que ERWIN coloca automáticamente) en
E:\Muriel\Modelamiento o donde corresponda.
1.6 Usar los tres tipos de interrelaciones que aparecen en la Caja de Herramientas (Toolbox) y construir el
siguiente esquema del Modelo Conceptual para la BD Academia (Figura 6) TENIENDO EN CUENTA
LAS OBSERVACIONES QUE APARECEN A CONTINUACION.
OBSERVACIONES:
TIENE IMPORTANCIA DE QUÉ ENTIDAD (PRIMER CLICK) A QUÉ ENTI-
DAD(SEGUNDO CLICK) SE TRAZA LA INTERRELACIÓN Y DE QUÉ TIPO ES LA INTE-
RRELACIÓN:
Dirección de interrelación Tipo de interrelación Nombre Cardinalidad
Padre (Parent) Hijo (Child) (esto sólo es explicación)
De Profesor a Curso Identifying relationship Dicta Es_dictado_por De uno a muchos
De Alumno a Curso Many-to-many relationship Se_matricula_en Matricula_a De muchos a muchos
De Especialidad a Alumno Non-identifying relationship Tiene Tiene_una De uno a muchos
De Profesor a Profesor Non-identifying relationship Asesora_a Es_asesorado_por De uno a muchos
Para poner el nombre de las interrelaciones marcar la interrelación respectiva y hacer doble click y en la ventana
Relationships /General en el cuadro Verb Phrase el nombre de la interrelación; por ejemplo para la interrela-
ción (Profesor, Curso): (Ver Figura 5)
Parent-to-Child Child-to-Parent
Dicta Es_dictado_por
Figura 5
Nota: Para visualizar los nombres de las interrelaciones abrir el menú contextual (botón derecho del ratón)
fuera de los elementos del diagrama y activar Relationship Display / Verb Phrase.
ª ¿Qué interrelaciones se han definido? (Dar el nombre con el Verbo Frase, por ejemplo: Dicta /
Es_dictado_por para (Profesor, Curso))
ª ¿Qué tipo de interrelaciones se han definido y cuál es su cardinalidad? ¿Cómo queda el esquema?
Ver Figura 6:
Práctica Nº 1 Pág. 7 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Profesor Alumno
Curso
Persona empleada por la academia, cu Se_matricula_en / Persona que está matriculada en las
Dicta / Contenido de la materia que s
responsabilidad es dictar clases a los Matricula_a clases y debe asistir a las sesiones
Es_dictado_por desarrolla en clases.
alumnos. clase.
Asesora_a /
Es_asesorado_por
Tiene /
Tiene_una
Especialidad
Rama de la computación en la que
especializa un alumno.
Figura 6
1.7 Guardar nuevamente el archivo del ERWIN con el nombre Academia .er1 en la carpeta Modelamiento que
hemos creado: E:\Muriel\Modelamiento (o donde corresponda).
Entidad: Curso
Práctica Nº 1 Pág. 8 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Entidad: Alumno
Atributo Dominio Clave Descripción
Cod_alumno String Primaria Identificación de cada alumno, con formato 999999 donde 99 representa
el año de ingreso del alumno y 9999 un número correlativo.
Ape_alumno String Apellidos paterno y materno del alumno.
Nom_alumno String Nombre(s) del alumno.
Sex_alumno Unknown Sexo del alumno con los valores 1= Masculino y 0 = Femenino.
Fna_alumno Datetime Fecha de nacimiento del alumno en el formato dd/mm/aaaa.
Tel_alumno String Teléfono domiciliario del alumno.
Dir_alumno String Dirección del alumno.
Fot_alumno Blob Foto del alumno capturado con escáner.
Esp_alumno Number Clave foránea que referencia a la entidad Especialidad.
Condición String Especifica si el alumno es Regular o Libre.
Entidad: Especialidad
Atributo Dominio Clave Descripción
Esp_alumno Number Primaria Especialidad del alumno que toma valores de 0 a 5 por ahora.
Descripción String Descripción de la especialidad.
Y obtendremos algo semejante a la Figura 7 que corresponde al ESQUEMA LÓGICO ESTANDAR para
Academia:
Profesor Alumno
Cod_profesor Cod_alumno
Curso
Ape_profesor Dicta / Se_matricula_en /
Cod_curso Ape_alumno
Nom_profesor Es_dictado_por Matricula_a
Cod_profesor (FK) Nom_alumno
Sex_profesor Sex_alumno
Fna_profesor Nom_curso Fna_alumno
Grt_profesor Sumilla Tel_alumno
Dni_profesor Horas Dir_alumno
Tel_profesor Precio Fot_alumno
Dir_profesor Prerrequisitos Esp_alumno (FK)
Pag_profesor Condición
Asesor
Asesora_a /
Es_asesorado_por Tiene /
Tiene_una
Especialidad
Esp_alumno
Descripción
Figura 7
2.1 En el menú de herramientas hay una Caja de lista donde aparece Logical (Modelo lógico), cambiar a
Physical (Modelo físico).
) ¿Qué ocurre? ¿Se ha generado tablas nuevas? ¿Qué atributos han heredado las tablas derivadas?
Práctica Nº 1 Pág. 9 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Tabla: Profesor
Columna Tipo_dato Opción de Nulo
Cod_profesor Char(5) No Nulo
Ape_profesor Char(40) No Nulo
Nom_profesor Char(35) No Nulo
Sex_profesor Bit No Nulo
Fna_profesor Datetime No Nulo
Grt_profesor Int Nulo
Dni_profesor Char(8) Nulo
Tel_profesor Char(6) Nulo
Dir_profesor Char(50) Nulo
Pag_profesor Money Nulo
Asesor Char(5) No Nulo
Tabla: Curso
Columna Tipo_dato Opción de Nulo
Cod_curso Char(4) No Nulo
(Cod_profesor) Char(5) No Nulo
Nom_curso Char(100) No Nulo
Sumilla Text Nulo
Horas Int Nulo
Precio Money Nulo
Prerrequisitos Char(5) Nulo
Tabla: Alumno
Columna Tipo_dato Opción de Nulo
Cod_alumno Char(6) No Nulo
Ape_alumno Char(40) No Nulo
Nom_alumno Char(35) No Nulo
Práctica Nº 1 Pág. 10 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Tabla: Especialidad
Columna Tipo_dato Opción de Nulo
Esp_alumno Int No Nulo
Descripción Char(40) No Nulo
Y la tabla derivada:
Tabla: Alumno_Curso Renombrar por Registro
Columna Tipo_dato Opción de Nulo
(Cod_alumno) Char(6) No Nulo
(Cod_curso) Char(4) No Nulo
(Cod_profesor) Char(5) No Nulo
Fecha Datetime Clave Primaria
Practica Numeric(5,2) Nulo
Examen Numeric(5,2) Nulo
Trabajo Numeric(5,2) Nulo
Otro Numeric(5,2) Nulo
Y obtendremos algo semejante a la Figura 8:
Profesor Alumno
Cod_profesor: char(5) Cod_alumno: char(6)
Curso
Ape_profesor: char(40) Registro
Cod_curso: char(4) Ape_alumno: char(40)
Nom_profesor: char(35) Cod_alumno: char(6) Nom_alumno: char(35)
Cod_profesor: char(5)
Sex_profesor: bit Cod_curso: char(4) Sex_alumno: bit
Fna_profesor: datetime Nom_curso: char(100) Cod_profesor: char(5) Fna_alumno: datetime
Grt_profesor: int Sumilla: text Fecha: datetime Tel_alumno: char(6)
Dni_profesor: char(8) Horas: int Dir_alumno: char(50)
Practica: numeric(5,2)
Tel_profesor: char(6) Precio: money Fot_alumno: image
Examen: numeric(5,2)
Dir_profesor: char(50) Prerrequisitos: char(5) Esp_alumno: int
Trabajo: numeric(5,2)
Pag_profesor: money Condición: char(7)
Otro: numeric(5,2)
Asesor: char(5)
Especialidad
Esp_alumno: int
Descripción: char(40)
Figura 8
2.3.3 Volver a guardar el archivo del ERWIN con el nombre
Academia .er1 en E:\Muriel\Modelamiento (o donde corresponda).
2.3.4 Crear los Índices que sean necesarios para cada tabla,
según se indica en las estructuras dadas. Para esto proce-
der de la siguiente forma:
¾ Señalar la tabla respectiva y abrir el menú contextual
y elegir la opción Indexes ¿Qué ocurre? ¿Ya existe
algún índice definido? ¿Cómo se llama? ¿Cuál es su
Práctica Nº 1 Pág. 11 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Tabla: Profesor
Indice Úni- Columnas Comentario Descendente
co
CK_Apenom ; Ape_profesor Ordena la tabla por la prioridad Apellido, Nombre. Puede ser clave
Nom_profesor candidata.
IX_Fechanac Fna_profesor Ordena la tabla por fecha de nacimiento.
IX_Grado Grt_profesor Ordena la tabla por la prioridad Grado_Título, Apellido, Nombre.
Ape_profesor
Nom_profesor
IX_Pago Pag_profesor Ordena la tabla por pago descendentemente. ;
Tabla: Curso
Indice Único Columnas Comentario Descendente
CK_Nombre ; Nom_curso Ordena la tabla por el nombre del curso. Puede ser clave candidata
IX_Horas Horas Ordena la tabla por el número de horas descendentemente. ;
IX_Precio Precio Ordena la tabla por el precio descendentemente. ;
Tabla: Alumno
Indice Único Columnas Comentario
CK_Apenom ; Ape_alumno Ordena la tabla por la prioridad Apellido, Nombre. Puede ser clave
Nom_alumno candidata.
IX_Fechanac Fna_alumno Ordena la tabla por fecha de nacimiento.
IX_Especialidad Esp_alumno Ordena la tabla por la prioridad Especialidad, Apellido, Nombre.
Ape_alumno
Nom_alumno
Tabla: Especialidad
Indice Único Columnas Comentario
CK_Descripción ; Descripción Ordena la tabla por la descripción. Puede ser clave candidata.
Tabla: Registro
Índice Único Columnas Comentario Descendente
IX_Alumno Cod_alumno Ordena la tabla por el código del alumno.
IX_Curso Cod_curso Ordena la tabla por el código de curso.
IX_Fecha Fecha Ordena la tabla por la fecha.
IX_Práctica Práctica Ordena la tabla por la nota de práctica descendentemente. ;
IX_Examen Examen Ordena la tabla por la nota de examen descendentemente. ;
IX_Trabajo Trabajo Ordena la tabla por la nota de trabajo descendentemente. ;
Práctica Nº 1 Pág. 12 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
2.3.5 Crear dos Vistas: Profesores_Asesores (profesores que asesoran a los profesores de su especialidad) y
Alumnos_Detalle_Especialidad (alumnos con la descripción de sus especialidades). Para esto procede-
remos como sigue:
2.3.5.1 Para la vista Profesores_Asesores, seguir los pasos siguientes:
¾ Seleccionar el icono View table de la Caja de Herramientas. Darle el nombre Profesores_Asesores.
Ubicar la vista debajo de la tabla Profesor. Ver Figura 10
View table
Figura 10
¾ Ubicarse en la vista, abrir el menú contextual y señalar la opción Database view properties. ¿Qué
aparece? ¿Que fichas tiene la ventana de diálogo?
¾ Señalar la ficha From y seleccionar la tabla Profesor.
¾ Señalar la ficha Select y seleccionar las columnas Cod_profesor, Ape_profesor, Nom_profesor y
Asesor. (ver Figura 11)
¾ Señalar la ficha Where y en la opción Where escribir la
expresión:
Asesor = Cod_profesor
¾ Señalar la ficha SQL ¿Qué expresión SQL aparece en
pantalla?
¾ Señalar la ficha Comment y escribir el comentario:
Esta vista visualiza a los profesores que cumplen el papel
de asesores.
¾ Confirmar todo con OK. ¿Cómo aparece la vista? ¿A que Figura 11
tabla está ligada?
2.3.5.2 Para la vista Alumnos_Detalle_Especialidad, seguir los
pasos siguientes:
¾ Seleccionar el icono Create view table de la Caja de Herramientas. Darle el nombre Alum-
nos_Detalle_Especialidad. Ubicarla debajo de la tabla Alumno.
¾ Ubicarse en la vista, abril el menú contextual y señalar la opción
Database view properties.
¾ Señalar la ficha From y seleccionar las tablas Alumno y Espe-
cialidad.
¾ Señalar la ficha Select y seleccionar las columnas
Ape_alumno, Nom_alumno y Esp_alumno de la tabla Alumno
y la columna Descripción de la tabla Especialidad.
¾ Señalar la ficha Where y en la opción Where escribir la expre- Figura 12
sión:
Alumno.Esp_alumno = Especialidad.Esp_alumno
¾ En la opción Group By escribir la expresión:
Alumno.Esp_alumno, Ape_alumno, Nom_alumno, Descripción
(Ver Figura 12)
¾ Señalar la ficha SQL ¿Qué expresión SQL aparece en pantalla?
¾ Señalar la ficha Comment y escribir el comentario:
Esta vista visualiza los apellidos, nombres y especialidades, describiéndolas.
¾ Confirmar todo con OK. ¿Cómo aparece la vista? ¿A qué tablas está ligada?
2.3.5.3 Crear la vista Profesores_Postgrado que visualice a los profesores con maestría o doctorado.
2.3.6 Crear dos Desencadenantes: Profesor_Apellido_Mayúscula (Los apellidos de los profesores deben ir
siempre con mayúsculas cuando se ingresan datos) y Alumno_Regular_Libre (Reconoce si el alumno
el regular o libre cuando se ingresa sus datos). Para esto procederemos como sigue:
2.3.6.1 Para el desencadenante Apellido_Mayúscula, seguir los pasos siguientes:
¾ Señalar la tabla Profesor ya abrir el menú contextual, elegir la opción Triggers ¿Qué ocurre?
¾ Hacer click en la ficha New y darle el nombre de Profesor_Apellido_Mayúscula.
Página Nº 1 Pág. 13 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
El resultado final del Esquema Lógico Específico (Físico en el ERWIN) debe ser semejante a la Figura 14:
Práctica Nº 1 Pág. 14 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
Profesor Alumno
Cod_profesor: char(5) Cod_alumno: char(6)
Curso
Ape_profesor: char(40) Cod_curso: char(4) Ape_alumno: char(40)
Nom_profesor: char(35) Registro Nom_alumno: char(35)
Cod_profesor: char(5)
Sex_profesor: bit Cod_alumno: char(6) Sex_alumno: bit
Fna_profesor: datetime Nom_curso: char(100) Cod_curso: char(4) Fna_alumno: datetime
Grt_profesor: int Sumilla: text Cod_profesor: char(5) Tel_alumno: char(6)
Dni_profesor: char(8) Horas: int Fecha: datetime Dir_alumno: char(50)
Tel_profesor: char(6) Precio: money Fot_alumno: image
Dir_profesor: char(50) Prerrequisitos: char(5) Práctica: numeric(5,2)
Esp_alumno: int
Pag_profesor: money Examen: numeric(5,2)
Condición: char(7)
Asesor: char(5) Trabajo: numeric(5,2)
Otro: numeric(5,2)
Alumno_Detalle_Especialidad
Ape_alumno: Alumno.Ape_alumno
Nom_alumno: Alumno.Nom_alumno
Profesores_Asesores Esp_alumno: Alumno.Esp_alumno
Descripción: Especialidad.Descripción
Cod_profesor: Profesor.Cod_profesor
Ape_profesor: Profesor.Ape_profesor
Especialidad
Nom_profesor: Profesor.Nom_profesor
Asesor: Profesor.Asesor Esp_alumno: int
Descripción: char(40)
Profesores_Postgrado
Ape_profesor: Profesor.Ape_profesor
Nom_profesor: Profesor.Nom_profesor
Grt_profesor: Profesor.Grt_profesor
Figura 14
2.4 Volver a guardar el archivo del ERWIN con el nombre Academia .er1 en E:\Muriel\Modelamiento (o
donde corresponda).
2.5 Ir menú Tools y elegir la opción Forward Engineer /SchemaGeneration
• ¿Qué aparece?
) Elegir la opción Table y por aceptar omisión la sección Table. Hacer click en la ficha Preview.
) ¿Qué aparece en la respectiva ventana?. Es conveniente grabar este archivo, porque es la especificación del
modelo físico de nuestra base de datos. Hay que guardarlo en E:\Muriel\SQLServer (o el que corresponda)
con el nombre de Academia y darle la extensión .sql. con la opción grabar (botón ). Minimizar la ventana
de ERWIN.
3. Ahora vamos a trabajar con el MS SQL Server 2000.
) El Administrador Corporativo de SQL Server 2000 (Enterprise Manager): Es una de las herramientas
componentes de MS SQL Server 2000 que nos permite configurar y administrar los objetos componentes y
nos va a permitir crear y administrar bases de datos
en la arquitectura Cliente / Servidor (Figura 15):
3.0 Cargar el Administrador Corporativo de MS
Server 2000. (Microsoft SQL Server / Adminis-
trador Corporativo).
• ¿Cómo se presenta el Administrador Corporativo?
• ¿Qué se observa a la izquierda y a la derecha de las
dos zonas que aparecen? Este es el Este es el Panel
• ¿Cuál es el servidor que aparece asignado dentro del Árbol de de detalle
grupo de Servidores de la PC que se está manejando? consola
3.1 Vamos preparar el SERVIDOR. En primer lugar
vamos a crear una base de datos. Para esto vamos a Figura 15
seguir los pasos siguientes:
3.1.1 Hacer click en la + de Servidores Microsoft
SQL Server.
3.1.2 Hacer click en la + de Grupo de SQL Server. Al instalar SQL Server 2000 debe haberse creado un
grupo con el nombre de usuario de Windows ¿Cuál es este? Abrir nuevamente este árbol haciendo
click en la + .
Práctica Nº 1 Pág. 15 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
3.1.3 Hacer click en el botón derecho de Base de datos y en el menú contextual elegir Nueva base de
datos.¿Que ocurre?
) En Nombre asignarle Academia. (¡OJO! Si eres del turno de la tarde debes asignar como nombre
Academia_Tarde, y si eres del turno de la noche Academia_Noche). Si cualquiera de esos nom-
bres ya existen ponerle Academia_Muriel, Academia_MGM, etc., con tu nombre o iniciales.
) Hacer click en la ficha Archivo de datos y
♦ En Nombre de archivo aceptar el nombre por omisión ¿Cuál es?
♦ En Ubicación buscar la ubicación de la carpeta que hemos creado con la ayuda del botón
, para guardar el archivo Academia_Data.MDF: (Ver Figura 16)
E:\Muriel\SQLServer\Datos\Academia_Data.MDF (o el que corresponda)
Con este botón debe ubicarse
la carpeta que hemos creado
Figura 16
NOTA: SQL Server guarda todo los archivos dentro del mismo programa.
♦ En Tamaño inicial (MB): ¿Qué tamaño le asigna por omisión? El usuario puede asignar
el tamaño en Mb según crea conveniente. Se sugiere 2 Mb.
♦ En Grupo de Archivos aceptar PRIMARY por omisión.
) En la ficha Registro de transacciones:
♦ Aceptar el nombre de archivo por omisión ¿Cuál es?
♦ En Ubicación repetir lo anterior y ubicar la carpeta para guardar el archivo Acade-
mia_Log.LDF: (Ver Figura 17)
E:\Muriel\SQLServer\Datos\Academia_Log.LDF (o el que corresponda)
Con este botón debe ubicarse
la carpeta que hemos creado
Figura 17
♦ En Tamaño inicial (MB): ¿Qué tamaño le asigna por omisión? El usuario puede asignar
el tamaño en Mb según crea conveniente. Se sugiere 1 Mb.
) Confirmar con Aceptar.
) Abrir la base de datos Academia. Hacer click en Tablas
• ¿Qué ocurre? ¿Qué tablas ha creado SQL para esta base de datos?
) Minimizar el SQL Server.
3.2 Vamos preparar el CLIENTE. Tenemos nuestra base de datos Academia que hemos creado en 3.1
3.2.1 Vamos a crear un DSN (Data Source Name =
Nombre del Origen de Datos). Para esto vamos a
seguir los pasos siguientes:
) Ir a la pantalla inicial de WINDOWS y
usar el menú Inicio/Configuración/Panel
de Control o hacer clic en Mi PC y activar
el Panel de Control. En el Panel de Con-
trol ubicar Panel de Con-
trol/Herramientas Administrativas/ Orí-
genes de datos(ODBC)) En el diálogo
Figura 18
Administrador de orígenes de datos
ODBC que aparece hacer click en el botón
Agregar (Add) y en el diálogo Crear
nuevo origen de datos ubicar SQL Server
y hacer doble click sobre él. ¿Qué ocurre?
Práctica Nº 1 Pág. 16 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
) En el diálogo Crear nuevo origen de datos para SQL Server, asignarle el nombre sqlAcademia.
En Descripción escribir Conexión con la Base de Datos Academia. El Servidor debe ser el que
ha asignado la PC respectiva. Se sugiere elegir (local) que acrece en la lista. Hacer click en la fi-
cha Siguiente.
) Indicar que SQL Server será el que haga la autenticación usando la Id de inicio de SQL Server.
) El Id. inicio de sesión que se va a utilizar será sa (No indicar contraseña). Hacer click en la fi-
cha Siguiente.
) En el siguiente diálogo, hay que establecer la base de datos predeterminada (En la lista hay que
elegir en nuestro caso la base de datos Academia). Hacer click en Siguiente y en el siguiente diá-
logo hacer click en Finalizar. Aquí debe terminar el proceso y debe aparecer la pantalla siguiente
(Figura 18):
) Hacer click en Probar origen de datos para verificar que todo está correcto.
) Confirmar con Aceptar.
3.2.2 Volver al ERWIN 4.1. Seguir los siguientes pasos:
) Abrir el archivo Academia.er1 en el modelo físico revisar que las tablas, índices, vistas y desencade-
nantes estén todos correctos de acuerdo a las indicaciones dadas.
) En el modelo físico. Ir al menú Tools/Forward Engineer /Schema Generation donde tendremos la
ventana de diálogo respectiva SQL Server Schema Generation.
Nota: Para mantener el mismo orden de las columnas de ERWIN en el SQL Server, en la ventana SQL
Server Schema Generation hay que desactivar la opción Physical Order:
SQL Server Schema Generation Column
Column
Physical Order
) Hacer click en Generate. Aparecerá una ventana de diálogo donde debe llenarse los datos (Semejante
a Figura 19) :
User Name: sa
Password: (dejar vacío)
Database: Academia
Server Name: (poner el nombre que Windows asignó pa-
ra el Grupo de SQL Server de SQL Server. Por lo gene-
ral el número de la PC en la que estás trabajando, por
ejemplo PC80, PC81, etc. Debe coincidir con el Grupo
definido en SQL Server).
) Hacer click en Connect. ¿Qué ocurre? ¿Qué aparece en la
Figura 19
respectiva ventana?
El nombre dado al usuario sa significa server
adiministrator que concede todos los dere-
chos del usuario sobre la base de datos. Si
todo está correcto debe generar las 5 tablas sin
problemas. Si hay fallas hay que interrumpir
con Abort cada vez que haya pausa hasta
confirmar finalmente con OK y revisar los Aquí deben estar las 5 tablas
modelos lógico y físico, porque debe haber obtenidas: Alumno, Curso,
errores. Una vez corregidos los errores generar Especialidad, Profesor y
las tablas para SQL Server. Registro
Minimizar la ventana de ERWIN. Figura 20
4. Vamos a volver a cargar el Administrador
Corporativo de MS Server 2000.
4.1 Abrir la base de datos Academia que hemos
creado. Hacer click en Tablas. Si las tablas no aparecen, abrir el menú contextual y elegir la opción Ac-
tualizar. Ver Figura 20
• ¿Qué ha ocurrido? ¿Qué nuevas tablas ha creado SQL para esta base de datos?
Práctica Nº 1 Pág. 17 de 18
UNJBG /ITEL /Carrera Técnica de Analista - Programador
CURSO: Base de Datos I – Periodo 2010-3
• Hacer doble click sobre c/u de las 5 tablas ¿Qué ocurre? ¿Qué aparece en pantalla?
4.2 Hacer click en Vistas y verificar la existencia de las tres vistas que hemos creado: Profesores_Asesores,
Profesores_Postgrado y Alumno_Detalle_Especialidad. Si las vistas no aparecen, abrir el menú contex-
tual y elegir la opción Actualizar.
4.3 La existencia de Índices y Desencadenates puede comprobase, señalando la tabla respectiva en el Panel
de detalle (por ejemplo, Alumno), abrir el menú contextual y elegir la opción Diseñar tabla.
4.3.1 Para revisar los índices para cada una de las tablas: Usar el icono Propiedades de tablas e índice de la
barra de herramientas (BH). En la ventana Propiedades hacer click en la ficha Índices y claves y revi-
sar la lista de Índice seleccionado: (deben estar todos los que hemos creado en el ERWIN para la tabla
elegida).
4.3.2 Para revisar los desencadenantes: Usar el icono Desencadenadores de la BH. En la ventana
Propiedades del desencadenador revisar la lista de Nombre: (deben estar todos los desencadenantes
que hemos creado en el ERWIN para la tabla elegida: 2 para Alumno: Alumno_Apellido_Mayúscula y
Alumno_Regular_Libre y 1 para Profesor: Alumno_Apellido_Mayúscula).
Figura 21.
Práctica Nº 1 Pág. 18 de 18