lab 12 - normalización - base de datos

12
Laboratorio de Base de Datos 12 – Normalización Nro. DD-106 Página 1 de 12 I. OBJETIVOS Identificar un modelo en primera forma normal Identificar un modelo en segunda forma normal II. SEGURIDAD Advertencia: En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas. III. RECURSOS Equipo con sistema operativo Windows XP Professional. Oracle Express Universal 10g. Oracle SQL Developer Modeler. IV. DESARROLLO DE LA TAREA El desarrollo del laboratorio es de manera individual. V. PROCEDIMIENTO 1. Instalación de la herramienta de modelado Oracle SQL Developer Data Modeler El instructor le indicará el instalador que utilizará. Copie el instalador anterior al equipo virtual. Desempaquetar el archivo anterior en la carpeta C:\ Se creará en la unidad C:\ una carpeta denominada datamodeler Crear un acceso directo al programa datamodeler.exe ubicada en la carpeta anterior Ejecute el acceso directo anterior para acceder a la herramienta 2. Creación de esquemas de bases de datos empleando la herramienta Oracle SQL Developer Data Modeler Implementaremos el modelo de base de datos representado en la siguiente figura: Creación de la tabla amistades En la herramienta Oracle SQL Developer DataModeler. Seleccione el panel denominado Relational_1 Amistades Películas Se prestan N : M codigo nombre fecha de nacimiento sexo apodo celular email codigo titulo tipo de pelicula fecha de adquisicion actor principal identificador de prestamo fecha de préstamo fecha de devolución estado código de amistad

Upload: paul-lionel-munive-solis

Post on 07-Jul-2016

247 views

Category:

Documents


0 download

DESCRIPTION

Normalización - Base de Datos

TRANSCRIPT

Page 1: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 1 de 11

I. OBJETIVOS Identificar un modelo en primera forma normal Identificar un modelo en segunda forma normal

II. SEGURIDADAdvertencia:En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas.

III. RECURSOS Equipo con sistema operativo Windows XP Professional. Oracle Express Universal 10g. Oracle SQL Developer Modeler.

IV. DESARROLLO DE LA TAREA El desarrollo del laboratorio es de manera individual.

V. PROCEDIMIENTO1. Instalación de la herramienta de modelado Oracle SQL Developer Data Modeler

El instructor le indicará el instalador que utilizará. Copie el instalador anterior al equipo virtual. Desempaquetar el archivo anterior en la carpeta C:\ Se creará en la unidad C:\ una carpeta denominada datamodeler Crear un acceso directo al programa datamodeler.exe ubicada en la carpeta anterior Ejecute el acceso directo anterior para acceder a la herramienta

2. Creación de esquemas de bases de datos empleando la herramienta Oracle SQL Developer Data Modeler Implementaremos el modelo de base de datos representado en la siguiente figura:

Creación de la tabla amistades En la herramienta Oracle SQL Developer DataModeler. Seleccione el panel denominado

Relational_1

De la barra de herramientas seleccione la herramienta Table y luego presione click sobre el botón izquierdo del mouse sobre el área de trabajo para insertar el nuevo elemento:

Amistades PelículasSe prestan

N : M

codigonombrefecha de nacimientosexoapodocelularemailestadodirección

codigotitulotipo de peliculafecha de adquisicionactor principaltipo de dvdorigencostoestado

identificador de prestamofecha de préstamofecha de devoluciónestado

código de amistad (FK)código de película (FK)

Page 2: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 2 de 11

Se mostrará una nueva ventana donde se debe definir la estructura de la nueva tabla.

Del panel izquierdo, seleccione la opción General. Aquí complete los siguientes datos:

o Name: amistades

Del panel izquierdo, seleccione la opción Columns. Para cada Columna. Clic en el botón en forma de signo “+” para adicionar una nueva columna. Complete los datos de cada campo según se indica en la siguiente tabla empleando el panel Column Properties:

Name Datatype Type Precision Scale Mandatorycodigo Logical NUMERIC 5 0 Checknombre Logical VARCHAR 45 Checkfecha_nac Logical DATEsexo Logical VARCHAR 1 Checkapodo Logical VARCHAR 30celular Logical VARCHAR 20email Logical VARCHAR 40estado Logical VARCHAR 1 Checkdireccion Logical VARCHAR 60En la siguiente figura se muestra la forma que se verá dicha ventana:

Del panel izquierdo, seleccione la opción Primary Key. Aquí complete los siguientes datos:

o Name: amistades_PK

o Del panel Columns Seleccione el campo código y adiciónelo al panel derecho

Page 3: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 3 de 11

Del panel izquierdo, seleccione la opción Table Level Constraints. Clic en el botón “+” para adicionar una nueva restricción de tipo CHECK:

o Repita el procedimiento anterior para definir la siguiente restricción

Name: amistades_CK_estado

Validation Rule: estado in (‘A’,’X’)

Clic en el botón OK para finalizar la creación de la tabla

Creación de la tabla películas De la barra de herramientas inserte un nuevo elemento de tipo Table

Desde la ventana de propiedades, en la opción General, asigne el nombre a la tabla peliculas

Del panel izquierdo, seleccione la opción Columns. Defina las columnas de la tabla según se indica en la siguiente lista:

Page 4: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 4 de 11

Name Datatype Type Precision Scale Mandatorycodigo Logical NUMERIC 5 0 Checktitulo Logical VARCHAR 45 Checktipo_pelicula Logical VARCHAR 25 Checkfecha_adq Logical DATEactor_principal Logical VARCHAR 60 Checktipo_dvd Logical VARCHAR 10 Checkorigen Logical VARCHAR 10 Checkcosto Logical NUMERIC 12 2estado Logical VARCHAR 1 Check

Del panel izquierdo, seleccione la opción Primary Key. Aquí complete los siguientes datos:

o Name: peliculas_PK

o Del panel Columns Seleccione el campo código y adiciónelo al panel derecho

Del panel izquierdo, seleccione la opción Table Level Constraints. Crear las siguientes restricciones:

o Name: peliculas_CK_tipo_dvd, Validation Rule: tipo_dvd in (‘original’,’copia’)

o Name: peliculas_CK_origen, Validation Rule: origen in (‘nacional’,’extranjero’)

o Name: peliculas_CK_estado, Validation Rule: estado in (‘A’,’X’)

Clic en el botón OK para finalizar la creación de la tabla

Creación de la tabla prestamos (relación N:M) De la barra de herramientas inserte un nuevo elemento de tipo Table

Desde la ventana de propiedades, en la opción General, asigne el nombre a la tabla prestamos

Del panel izquierdo, seleccione la opción Columns. Defina las columnas de la tabla según se indica en la siguiente lista:

Name Datatype Type Precision Scale Mandatoryid_prestamo Logical NUMERIC 8 0 Checkfecha_prestamo Logical DATEfecha_devolucion Logical DATEcodigo_amistad Logical NUMERIC 5 0 Checkcodigo_pelicula Logical NUMERIC 5 0 Checkestado Logical VARCHAR 1 Check

Del panel izquierdo, seleccione la opción Primary Key. Aquí complete los siguientes datos:

o Name: prestamos_PK

o Del panel Columns Seleccione el campo id_prestamo y adiciónelo al panel derecho

Page 5: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 5 de 11

Del panel izquierdo, seleccione la opción Table Level Constraints. Crear las siguientes restricciones:

o Name: prestamos_CK_estado, Validation Rule: estado in (‘A’,’X’)

Del panel izquierdo, seleccione la opción Foreign Keys. Crear las siguientes restricciones:

Clic en el botón OK para finalizar la creación de la tabla

A continuación se muestra el esquema de la base de datos resultante:

Page 6: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 6 de 11

3. Creación del script DDL conteniendo los comandos necesarios para crear la base de datos De la barra de herramientas clic en la última herramienta denominada Generate DDL De la ventana DDL File Editor. Clic en el botón Generate

Clic en el botón OK Se muestra una ventana conteniendo los comandos SQL para crear todas las tablas Click en el botón Save para generar un archivo *.sql con los comandos anteriores. Nombrarlo como

tablas.sql. Click en el botón Close para cerrar la ventana Desde el Explorador de Windows verifique la existencia del archivo anterior

TAREA1. Empleando la herramienta Oracle SQL Developer Data Modeler implemente el diseño de la base de

datos mostrado en la figura 12. Empleando la herramienta Oracle SQL Developer Data Modeler implemente el diseño de la base de

datos mostrado en la figura 2

Page 7: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 7 de 11

Figura 1

Distribuyen

Camioneros Camiones

Paquetes Provincias

Conducen

Destinados

codigonombrednitelefonodireccionsalarioestado

placamodelotipopotenciaestado

N : M

1 : N

N : 1

Fecha de partidaHora de partidaFecha de llegadaHora de llegadaestado

Codigo de camionero(FK)Placa (FK)

codigodescripcionnombre del destinatariodirección del destinatarioestado

código del camionero (FK)código de provincia (FK)

codigonombre

Page 8: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 8 de 11

CREATE TABLE CAMIONEROS( CODIGO_CAM NUMBER (5) NOT NULL, NOMBRE VARCHAR2 (40) NOT NULL, DNI VARCHAR2 (8) NOT NULL, TELEFONO VARCHAR2 (20) NOT NULL, DIRECCION VARCHAR2 (40) NOT NULL, SALARIO NUMBER (5,2) NOT NULL, ESTADO VARCHAR2 (1));

ALTER TABLE COMIONEROS ADD CONSTRAINT CAMIONEROS_CK_ESTADO CHECK (ESTADO IN ('A','X'));ALTER TABLE COMIONEROS ADD CONSTRAINT CAMIONEROS_PK PRIMARY KEY (CODIGO_CAM);

CREATE TABLE CAMIONES( PLACA VARCHAR2 (8) NOT NULL, MODELO VARCHAR2 (20) NOT NULL, TIPO VARCHAR2 (20) NOT NULL, ESTADO VARCHAR2 (1));

ALTER TABLE CAMIONES ADD CONSTRAINT CAMIONEROS_CK_ESTADO CHECK (ESTADO IN ('A','X'));ALTER TABLE CAMIONES ADD CONSTRAINT CAMIONES_PK PRIMARY KEY (PLACA);

CREATE TABLE PAQUETES( COD_PAQ VARCHAR2 (5) NOT NULL, DESCRIPCION VARCHAR2 (40) NOT NULL, NOM_DESTINATARIO VARCHAR2 (40) NOT NULL, DIRECC_DESTINATARIO VARCHAR2 (40) NOT NULL, ESTADO VARCHAR2(1) , COD_CAMIONERO NUMBER (5) NOT NULL COD_PROVINCIA NUMBER (5) NOT NULL);

ALTER TABLE PAQUETES ADD CONSTRAINT PAQUETES_PK PRIMARY KEY (COD_PAQ);

CREATE TABLE PROVINCIAS( COD_PROVINCIA NUMBER (5) NOT NULL, NOMBRE VARCHAR2 (20) NOT NULL);

ALTER TABLE PROVINCIAS ADD CONSTRAINT PROVINCIAS_PK PRIMARY KEY (COD_PROV);

CREATE TABLE REGIST_CONDUCCION( COD_REGIST_COND NUMBER (5) NOT NULL, FEC_PARTIDA DATE NOT NULL, HORA_PARTIDA DATE NOT NULL, FEC_LLEGADA DATE NOT NULL, HORA_LLEGADA DATE NOT NULL, ESTADO VARCHAR2(1) NOT NULL, COD_CAMIONERO NUMBER (5) NOT NULL, PLACA VARCHAR2 (5) NOT NULL);

ALTER TABLE REGIST_CONDUCCION ADD CONSTRAINT REGIST_CONDUCCION_CK CHECK (ESTADO IN ('A','X'));ALTER TABLE REGIST_CONDUCCION ADD CONSTRAINT REGIST_CONDUCCION_PK PRIMARY KEY (COD_REGIST_COND);

Page 9: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 9 de 11

Page 10: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 10 de 11

Figura 2

Page 11: Lab 12 - Normalización - Base de Datos

Laboratorio de Base de Datos12 – Normalización

Nro. DD-106Página 11 de 11

VI. OBSERVACIONES

La herramienta que se utilizó en este laboratorio fue el MySQLWorkbench el cual permitió generar y gestionar los datos extraídos.

Los CONSTRAINT permiten colocar restricciones a nuestra base de datos, estos no siempre se agregan al momento de generar el script de la tabla, por eso usamos un ALTER TABLE para alterar los datos y colocar estas restricciones sin problemas.

Observar las tablas así como los modelos de entidad ayuda mucha ala solución de un buen script, esto es una práctica que debe ser detallada para poder obtener un resultado estable.

Debemos identificar muy bien las llaves primarias, y así poder relacionarlas a las demás tablas siendo estas sus llaves foráneas en otras tablas, esto permite una relación directa entre tablas.

También se usó el programa DATA MODELER para migrar un esquema a este y ver de un modelo de entidad de otra manera.

VII. CONCLUSIONES

Identificar y realizar un modelo en la primera, segunda forma normal.

Usar una herramienta externa para la generación de tablas, así como un modelo de entidad relación entre tablas.

El DATA MODELER permitió la migración del esquema.

Los CONSTRAINT permiten reducir el tiempo en cuanto a ingresar ciertos datos, los cuales los podemos resumir en letras.