Material Completo

download Material Completo

of 111

description

sistemas

Transcript of Material Completo

Diapositiva 1

MDD2501 Modelamiento de Datos y Bases de Datos

Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemanas:Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N1: Aprendizajes esperados: Alumno reconoce etapas del desarrollo de software, utilizando la metodologa propuesta por Oracle Contenidos: Introduccin al Case Method OracleFases del Desarrollo Method Case OracleLa herramienta CASE es una metodologa para el diseo de sistemas, cuya funcin principal es el el apoyo mediante automatizacin del trabajo manual y/o repetitivoDesde el punto de vista de herramientas, las fases del desarrollo su pueden observar mediante la propia pantalla inicial de la herramienta Designer de Oracle

Fases del Desarrollo Method Case Oracle

Resumen Etapas y productosEstrategia: Diagrama de procesos. 2. Anlisis: Modelo Entidad Relacin Modelo DFD Diagrama Funcional 3. Diseo Diseo Fsico de Tablas Diseo de mdulos y programas y layout de pantallas y reportes Diseo de procedimientos almacenados 4. Construccin Script de tablas y restricciones Pantallas y Reportes Procedimientos almacenados 5. Documentacin Informes de Anlisis, Diseo y Construccin

CDMEl Case Method deOracleha pasado por varias transformaciones. Actualmente se conoce como CDM (Custom Development Methodology) y su adaptacin para Java es JCDM

CDM Es un mtodo intensivo en documentacin con estndares pre-definidos. La cantidad de documentacin ser variable dependiendo del tamao y complejidad de la aplicacin que se desarrolla La documentacin es mucha y requiere validaciones permanentes por parte de los clientes, con el fin de garantizar que los requisitos se estn cumpliendo adecuadamente hasta llegar a la aplicacin final.Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N2: Aprendizajes esperados: Alumno revisa un objeto y rescata de ste los atributos que pueda visualizar Es capaz de identificar atributos y caractersticas del mismo objeto, desde otros puntos de vista

Contenidos: Identifica los atributos de una entidadConcepto de atributos de objetosLos atributos describen un objeto que ha sido seleccionado para ser incluido en el modelo de anlisis. En esencia, son los atributos los que definen al objeto, los que clarifican lo que representa el objeto en el contexto del espacio del problemaIdentificar atributos Segn lo que se desea desarrollar o diagramar, un objeto, puede ser identificado por distintos atributos segn el punto de vista aplicado . Por ejemplo, un computador (el de la imagen), puede ser visto desde los siguientes puntos de vista: Fsico (forma, tamao, componentes) Contable (marca, valor)

Algunos atributos del computador Punto de vista fsico: Capacidad Disco Duro Capacidad Memoria RAM Procesador Color Peso Tarjeta Video Punto de vista contable: Nmero de Serie Marca Valor Comercial Valor Contable Aos uso Centro de Costo

Identificar atributos del objeto automvil Punto de vista fsico Color Motor Cantidad Ruedas Capacidad Maletero Punto de vista de un comprador Estado Kilmetros recorridos Cantidad dueos anteriores Precio Venta Punto de vista de un corredor Motor (coincide con el pto. de vista fsico) Velocidad Aceleracin Torque

Punto de vista del Registro Civil Patente Dueo N Motor N Chasis AoIdentifique los atributos de los objetos segn los puntos de vista planteados Punto de vista fsico Punto de vista contable Punto de vista de un comprador

Qu otros puntos de vista se pueden aplicar?

Televisor

Edificio

rbolCase Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N3: Aprendizajes esperados: Alumno, dentro de un problema planteado, es capaz de identificar los elementos para el desarrollo del modelo Entidad - Relacin Adquiere herramientas para identificar e interpretar la realidad para plasmarla en un MER

Contenidos: Gua de ayuda para el desarrollo de un MEREsquematizacin de la realidad

Para crear el esquema de la base de datos, primero es necesario modelarla. Para llegar al modelo, se debe tener la capacidad de analizar la problemtica, abstraerse y generar el esquema necesarioAlgunos pasos para el desarrollo An cuando en el desarrollo de modelos, se debe analizar cada problemtica en particular, existen ciertos anlisis bsicos en los cuales se puede apoyar para desarrollar dichos modelos En algunos casos, el anlisis sintctico del problema puedo apoyarlo en el desarrollo del modeloEjemplo del anlisis de un problema Considere lo siguiente:El libro rojo est sobre la mesa redonda

Para reconocer entidades debemos identificar los objetos (generalmente sustantivos) que tienen relevancia o que interfieren en el estudio que se realiza. Para el presente ejemplo, las entidades seran libro y mesa Ejemplo del anlisis de un problema Los atributos son caractersticas (generalmente adjetivos) de las entidades identificadas. Se debe considerar que si fueran adjetivos, estos representan al dominio del atributo. En el presente ejemplo, rojo (dominio) es una caracterstica de libro, es por ello que el atributo es color. Algo similar para la entidad mesa con el dominio redonda, para este caso el atributo es formaEjemplo del anlisis de un problema Las relacin es la accin (generalmente verbo) de una de las entidades identificadas sobre la otra(*). As en el ejemplo, la accin existente seala que el libro est sobre la mesa.

(*) Existen ocasiones en que una relacin nace en una entidad y termina en la misma (relacin uni-aria)

MER del ejemplolibromesaEst sobrecolorformaEs evidente que las entidades requieren otros atributos, pero slo nos estamos limitando por esta vez a lo sealado en el ejemploOtro ejemplojardnnioatiendenombreedadConsidere lo siguiente:El jardn infantil Los gatitos felices, ubicado en el centro de la ciudad, atiende actualmente a 20 nios de distintas edades. Cada uno ellos es identificado por su nombre.capacidadubicacinnombreLa verbalizacin es identificado no se considera, ya que no es relevante para el problema analizado, adems que dicha accin est contenida en la relacin existente (atiende) entre las entidades identificadas (jardn y nio)Algunas consideraciones Dos entidades pueden coincidir en algunos de los nombres de sus atributos Dos entidades que exactamente tengan los mismos atributos, se deben re-estudiar, ya que si dicha situacin es real, dichas entidades son lo mismo Es recomendable identificar al menos un atributo para cada entidad que lo distinga de los dems atributos Tambin se deben establecer atributos que tengan relacin con la problemtica analizada. Por ejemplo, el atributo sabor de la entidad memoria ram no tiene relevancia para una problemtica sobre computadoresDesarrolle el MER para el siguiente problema Las vendedoras, identificadas por su nombre y un cdigo, ofrecen productos para la duea de casa. Dichos productos, para distintos usos (limpieza, belleza) tienen precio y fecha de vencimiento

Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N4: Aprendizajes esperados: Mediante un ejemplo, el alumno pone en prctica lo aprendido a la fecha respecto a los modelos Entidad Relacin Contenidos: Ejercicio de desarrollo de un MERProblemtica planteada Una cadena de Video-Clubs ha decidido, para mejorar su servicio, emplear una base de datos para almacenar la informacin referente a las pelculas que ofrece en alquiler. Esta informacin es la siguiente: Una pelcula se caracteriza por su ttulo, nacionalidad, productora y fecha (p.e., Quo Vadis , Estados Unidos , M.G.M. , 1955) . En una pelcula pueden participar varios actores (nombre, nacionalidad, sexo) algunos de ellos como actores principales. Una pelcula est dirigida por un director (nombre, nacionalidad) . De cada pelcula se dispone de uno o varios ejemplares diferenciados por un nmero de ejemplar y caracterizados por su estado de conservacin. Un ejemplar se puede encontrar alquilado a algn socio (RUT , nombre, direccin, telfono) . Se desea almacenar la fecha de comienzo del alquiler y la de devolucin. Un socio tiene que ser avalado por otro socio que responda de l en caso de tener problemas en el alquiler.

Anlisis del problema planteado En el problema se pueden distinguir, en primera instancia, las entidades pelcula, actor, director, ejemplar, socio

Algunas consideraciones En ocasiones, las problemticas no cubren todos los aspectos que el desarrollador encuentra. Por ejemplo en el problema, se seala que un ejemplar de pelcula puede estar alquilado a un socio. Pero a lo largo del tiempo, ese ejemplar puede ser alquilado por mas de un socio. Las dudas deben ser planteadas al cliente, pero como en este caso no es posible, asumiremos algunos supuestosEstableciendo las relaciones Segn el problema, se visualizan las siguientes relaciones: En una pelcula pueden participar varios actores: Cardinalidad 1:N entre pelcula y actor Una pelcula est dirigida por un director: Cardinalidad 1:1 entre pelcula y director De cada pelcula se dispone de uno o varios ejemplares: Cardinalidad 1:N entre pelcula y ejemplar Un ejemplar se puede encontrar alquilado a algn socio: Cardinalidad 1:N entre pelcula y socio Un socio tiene que ser avalado por otro socio: Cardinalidad 1:N entre socio y socioEstableciendo las relaciones Asumamos tambin los siguientes supuestos: En actor puede participar en varias pelculas Una pelcula slo es dirigida por un director Un socio puede alquilar varios ejemplares Un socio es avalado slo por un socio, pero ste puede avalar a varios de ellosModelo propuesto

Ejercicios Para el modelo propuesto an falta definir:Cules son los atributos claves?Cules son las cardinalidades?Qu otros supuestos puede aplicar?Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N6: Aprendizajes esperados: Alumno complementa su aprendizaje, con una serie de sitios entregados para su revisin Contenidos: Listado de sitios de inters en Internet con material que permite complementar lo aprendido en clasesSitios en Internet Sobre SGBD:http://es.wikipedia.org/wiki/Sistema_de_gestin_de_bases_de_datoshttp://www.desarrollodeaplicacionesinformaticas.com/index.php/Analisis/Tema-14-Sistemas-Gestores-de-Bases-de-datos/1-introduccion.htmlhttp://www.monografias.com/trabajos11/basda/basda.shtml

Sitios en InternetSobre MER:http://es.wikipedia.org/wiki/Modelo_entidad-relacinhttp://www.tejedoresdelweb.com/wiki/images/c/c7/Basesdatos_teo3_modelo_er.pdfhttp://www.uazuay.edu.ec/analisis/Modelo%20Entidad%20Relacion.pdf

Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N8: Aprendizajes esperados: Alumno aprende las reglas bsicas para transformar un modelo entidad relacin a un modelo relacional Contenidos: Ejemplo de mapeo de un modelo entidad relacin a un modelo relacionalModelo Considere el siguiente modelo:Nota: De rojo, los atributos claves

Mapeo para las relacionesCorrespondencia 1:N : La clave primaria del lado 1 siempre se repetir en la entidad correspondiente al lado N, y podr tomar valores duplicados para esta entidad. Correspondencia M:N : La relacin se transforma en entidad y las claves primarias de las entidades originales pasan como clave fornea de esta nueva entidadCorrespondencia 1:1 : El diseador de la BD determina que clave primaria va a repetir en otra entidad, segn un estudio lgico y no podr tener valores duplicados para dicha entidadMapeo del ejemplo Para realizar el mapeo, se analiza uno a uno cada relacin Comenzaremos por la relacin R1 La relacin R1, tiene una correspondencia M:N (muchos a muchos) Por lo tanto, la regla que se aplica: La relacin se transforma en entidad y las claves primarias de las entidades originales pasan como clave fornea de esta nueva entidad Mapeo del ejemplo Notar que no necesariamente los atributos claves que se traspasan pasan como tales en la entidad destino (depende de la problemtica planteada) El smbolo de la relacin R1 (rombo) desaparece y se cambia por el rectngulo Hacia la nueva entidad (R1) quedan las cardinalidades muchos. A esta nueva entidad se le conoce como tabla de rompimiento El atributo de la relacin (C1), se conserva en la nueva entidad

Mapeo del ejemplo Ahora seguimos con la relacin R2 La relacin R2, tiene una correspondencia 1:N (uno a muchos) Por lo tanto, la regla que se aplica: La clave primaria del lado 1 siempre se repetir en la entidad correspondiente al lado N, y podr tomar valores duplicados para esta entidad Mapeo del ejemplo Notar que no necesariamente los atributos claves que se traspasan pasan como tales en la entidad destino (depende de la problemtica planteada) El smbolo de la relacin (R2) desaparece, quedando la cardinalidad muchos hacia el lado del la entidad destino

Solucin Completa

Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N9: Aprendizajes esperados: Alumno aplica conocimientos adquiridos para transformar un modelo Entidad-Relacin a un Modelo Relacional Contenidos: Ejercicio de mapeo de MER a MRProblemtica planteada Una cadena de Video-Clubs ha decidido, para mejorar su servicio, emplear una base de datos para almacenar la informacin referente a las pelculas que ofrece en alquiler. Esta informacin es la siguiente: Una pelcula se caracteriza por su ttulo, nacionalidad, productora y fecha (p.e., Quo Vadis , Estados Unidos , M.G.M. , 1955) . En una pelcula pueden participar varios actores (nombre, nacionalidad, sexo) algunos de ellos como actores principales. Una pelcula est dirigida por un director (nombre, nacionalidad) . De cada pelcula se dispone de uno o varios ejemplares diferenciados por un nmero de ejemplar y caracterizados por su estado de conservacin. Un ejemplar se puede encontrar alquilado a algn socio (RUT , nombre, direccin, telfono) . Se desea almacenar la fecha de comienzo del alquiler y la de devolucin. Un socio tiene que ser avalado por otro socio que responda de l en caso de tener problemas en el alquiler.

Modelo propuesto (Propuesto en Material de Semana 4)

Ejercicios Transformar el modelo entidad-relacin a un modelo relacional Recuerde las consideraciones que se tuvieron presentes cuando desarroll el modelo Entidad-Relacin: En actor puede participar en varias pelculas Una pelcula slo es dirigida por un director Un socio puede alquilar varios ejemplares Un socio es avalado slo por un socio, pero ste puede avalar a varios de ellosCase Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N11: Aprendizajes esperados: Alumno aplica conocimientos adquiridos respecto a la normalizacin y desnormalizacin de un modelo relacional Contenidos: Ejercicio de normalizacin y desnormalizacin de un modelo relacionalModelo Considere el siguiente modelo:

Ejercicios planteados Aplique las primeras tres formas normales al modelo planteado Recuerde que:Primera Forma Normal (1FN)Todos los atributos son atmicos. Un atributo es atmico si los elementos del dominio son indivisibles, mnimos.La tabla contiene una clave primaria.La clave primaria no contiene atributos nulos.No debe de existir variacin en el nmero de columnas.Segunda Forma Normal (2FN)Una relacin est en 2FN si est en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales.Tercera Forma Normal (3FN)La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.Ejercicios planteados Terminado el ejercicio anterior, considere que existen problemas de performance de la base de datos. Para ello debe desnormalizar el modelo planteado. Qu alternativas de desnormalizacin planteara?Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N12: Aprendizajes esperados: Alumno consulta a un esquema de datos, segn el modelo relacional entregado Contenidos: Ejemplos de consultas a un esquema de datos, segn un modelo dadoModelo Considere el siguiente modelo:

Ejercicios planteados Cantidad de personas registradasPara ello debemos contar los registros de la tabla persona Select count(rut) from persona; No es necesario utilizar la clusula distinct, debido a que rut es pk, por lo tanto, se entiende que los valores entregados sern distintosEjercicios planteados Cantidad de autos del ao 2005 en adelantePara ello debemos contar los registros de la tabla auto Select count(patente) from auto where anio>=2005; No es necesario utilizar la clusula distinct, debido a que patente es pk, por lo tanto, se entiende que los valores entregados sern distintosEjercicios planteados Listar a las personas cuyo ao de nacimiento sea posterior a 1970Para ello seleccionaremos el rut y nombre de la persona Select rut, nombre from persona where to_char(fecha_nacimiento, yyyy)>1970; Para el predicado, transformamos la fecha de nacimiento en un formato yyyy. Si bien to_char transforma a caracter, nos aprovechamos de la conversin implcita para compararlo con un dato numricoEjercicios planteados Listar a las personas con el auto que tenga asociadoPara ello debemos realizar un join entre las tablas persona y auto Select a.rut, a.nombre, b.patente from persona a, auto b where b.rut=a.rut Cuando se realiza join, se recomienda dar alias a las tablas (a y b) para una referencia mas expedita. En el predicado se establece el join (b.rut=a.rut)Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N13: Aprendizajes esperados: Alumno reconoce y utiliza las alternativas para crear un cdigo SQL que permita generar un esquema de datos en la base de datos Oracle, segn un modelo relacional dado Contenidos: Ejemplo de creacin de un script para generar un esquema en una base de datos Oracle, segn un modelo relacional dadoModelo Considere el siguiente modelo:

Modelo diagramado con Oracle SQL Developer Data Modeler 2.0Alcances para la generacin del cdigo Se debe tener precaucin cuando las tablas poseen llaves forneas, ya que stas hacen referencia a la llave primaria de otra tabla Por ello, primero se debe crear la llave primaria de la otra tabla y despus la llave fornea Debido a lo anterior, existe mas de una alternativa para generar los cdigos necesariosCdigo DDL Alternativa 1CREATE TABLE auto ( patente VARCHAR2 (6 CHAR) NOT NULL , marca VARCHAR2 (50 CHAR) , anio NUMBER (4) , rut VARCHAR2 (10 CHAR) NOT NULL , tipo_auto_id NUMBER (1) NOT NULL, CONSTRAINT auto_PK PRIMARY KEY ( patente )) ;

CREATE TABLE persona ( rut VARCHAR2 (10 CHAR) NOT NULL , nombre VARCHAR2 (40 CHAR) NOT NULL , fecha_nacimiento DATE ) , CONSTRAINT persona_PK PRIMARY KEY ( rut )) ;

CREATE TABLE tipo_auto ( tipo_auto_id NUMBER (1) NOT NULL , descripcion VARCHAR2 (30) , CONSTRAINT tipo_auto_PK PRIMARY KEY ( tipo_auto_id )) ;

ALTER TABLE auto ADD (CONSTRAINT auto_persona_FK FOREIGN KEY ( rut ) REFERENCES persona ( rut ), CONSTRAINT auto_tipo_auto_FK FOREIGN KEY ( tipo_auto_id ) REFERENCES tipo_auto ( tipo_auto_id )) ;Notas sobre el cdigo:

Para esta alternativa se crean las tablas sin llaves forneas, slo con su llave primariaFinalmente se modifican las tablas que poseen llaves forneasConsiderando lo anterior, el orden de creacin de las tablas no es relevante

Se recomienda que a las restricciones (constraint) se les d un nombre apropiado, ya que para grandes modelos, es ms fcil identificar un posible error de consistencia de datos , ya que aparecer el nombre de la restriccin que no se est cumplimientoCdigo DDL Alternativa 2CREATE TABLE persona ( rut VARCHAR2 (10 CHAR) NOT NULL , nombre VARCHAR2 (40 CHAR) NOT NULL , fecha_nacimiento DATE ) , CONSTRAINT persona_PK PRIMARY KEY ( rut )) ;

CREATE TABLE tipo_auto ( tipo_auto_id NUMBER (1) NOT NULL , descripcion VARCHAR2 (30) , CONSTRAINT tipo_auto_PK PRIMARY KEY ( tipo_auto_id )) ;

CREATE TABLE auto ( patente VARCHAR2 (6 CHAR) NOT NULL , marca VARCHAR2 (50 CHAR) , anio NUMBER (4) , rut VARCHAR2 (10 CHAR) NOT NULL , tipo_auto_id NUMBER (1) NOT NULL, CONSTRAINT auto_PK PRIMARY KEY ( patente ), CONSTRAINT auto_persona_FK FOREIGN KEY ( rut ) REFERENCES persona ( rut ), CONSTRAINT auto_tipo_auto_FK FOREIGN KEY ( tipo_auto_id ) REFERENCES tipo_auto ( tipo_auto_id )) ;Notas sobre el cdigo:

Para esta alternativa se crean primero las tablas que slo poseen llave primariaFinalmente se crean las tablas que poseen llaves forneasConsiderando lo anterior, el orden de creacin de las tablas es relevante

Se recomienda que a las restricciones (constraint) se les d un nombre apropiado, ya que para grandes modelos, es ms fcil identificar un posible error de consistencia de datos , ya que aparecer el nombre de la restriccin que no se est cumplimientoCdigo DDL Alternativa 3CREATE TABLE auto ( patente VARCHAR2 (6 CHAR) NOT NULL , marca VARCHAR2 (50 CHAR) , anio NUMBER (4) , rut VARCHAR2 (10 CHAR) NOT NULL , tipo_auto_id NUMBER (1) NOT NULL );ALTER TABLE auto ADD CONSTRAINT auto_PK PRIMARY KEY ( patente ) ;CREATE TABLE persona ( rut VARCHAR2 (10 CHAR) NOT NULL , nombre VARCHAR2 (40 CHAR) NOT NULL , fecha_nacimiento DATE ) ;ALTER TABLE persona ADD CONSTRAINT persona_PK PRIMARY KEY ( rut ) ;CREATE TABLE tipo_auto ( tipo_auto_id NUMBER (1) NOT NULL , descripcion VARCHAR2 (30) ) ;ALTER TABLE tipo_auto ADD CONSTRAINT tipo_auto_PK PRIMARY KEY ( tipo_auto_id );ALTER TABLE auto ADD CONSTRAINT auto_persona_FK FOREIGN KEY ( rut ) REFERENCES persona (rut );ALTER TABLE auto ADD CONSTRAINT auto_tipo_auto_FK FOREIGN KEY ( tipo_auto_id ) REFERENCES tipo_auto ( tipo_auto_id );Notas sobre el cdigo:

Es una combinacin de las anteriores, creando y modificando las tablas a medida que se avanza en el cdigo, teniendo precaucin en la creacin de las tablas con llaves forneasConsiderando lo anterior, el orden de creacin de las tablas es relevante

Se recomienda que a las restricciones (constraint) se les d un nombre apropiado, ya que para grandes modelos, es ms fcil identificar un posible error de consistencia de datos , ya que aparecer el nombre de la restriccin que no se est cumplimientoCase Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N14: Aprendizajes esperados: Alumno , dado un modelo de datos, identifica y selecciona las alternativas pertinentes para ingresar informacin a un modelo de datos Contenidos: Demostracin de manipulacin de datos en un esquema de datosModelo Considere el siguiente modelo ya recreado en la base de datos. An no se ingresan datos:

Modelo diagramado con Oracle SQL Developer Data Modeler 2.0Alcances para el ingreso de datos Se debe tener precaucin cuando las tablas poseen llaves forneas, ya que stas hacen referencia a la llave primaria de otra tabla Por ello, al ingresar datos a estas tablas, primero se debe ingresar datos a la tabla que posee la llave primaria, para mantener la integridad y coherencia de los datosIngresando datos Trataremos de ingresar un registro a la tabla auto

El ingreso arroja un error, debido a que no se ha respetado la integridad de datos. La tabla auto posee dos llaves forneas que referencian a las tablas persona y tipo_auto. Por lo tanto, se deben ingresar registros en esas tablas primeroIngresando datos Trataremos de ingresar un registro a la tabla tipo_auto El ingreso fue exitoso. Observe que en el comando no se nombraron los campos a los cuales se les ingresa datos. Esto es posible slo si se ingresarn datos a todos los campos de la tabla, adems, en la clusula values, los valores deben ir en el orden en el cual los campos fueron declarados cuando la tabla se cre en la base de datos

Ingresando datos Trataremos de ingresar un registro a la tabla persona El ingreso fue exitoso. Observe que dentro de los valores ingresados, la fecha de nacimiento se ingresa como carcter (se reconoce porque usa comillas simples) siendo que el campo es de tipo date (fecha). Esto es posible ya que para ciertos tipos de datos, Oracle transforma ese tipo al tipo de datos que corresponde. Recuerde que slo funciona para algunos tipos de datos

Ingresando datos Trataremos de ingresar nuevamente un registro en la tabla auto Esta vez el ingreso fue exitoso. Observe que para los campos rut y tipo_auto_id los valores asignados corresponden a valores vlidos que existen en las tablas persona y tipo_auto, respectivamente.

Eliminando datos Trataremos de eliminar un registro de la tabla tipo_auto La sentencia arroja un error por integridad de datos. Esto se debe a que en la tabla auto existe un registro del tipo de auto 1. En otras palabras, se est tratando de borrar el registro que es padre de al menos 1 registro de la tabla auto (ver modelo relacional para mayor abundamiento)

Eliminando datos Como puede observar, la llave fornea de la tabla auto que lo relaciona con la tabla tipo_auto, seala que al suprimir un registro de la tabla padre, el borrado ser restringido. Esta decisin se realiza cuando se est diseando el modelo. Las otras alternativas que existen para borrar un registro de la tabla padre, considerando este ejemplo, es que se asigne un valor nulo al campo tipo_auto_id de la tabla auto (set null), o que cuando el registro padre sea borrado, los registros hijos tambin lo sean (cascade)

Eliminando datos Modificaremos la restriccin y le sealaremos que el borrado es en cascada

Eliminando datos Trataremos de eliminar nuevamente el registro de la tabla tipo_auto Esta vez el borrado fue exitoso. Adems si comprobamos el registro de la tabla auto, tambin fue borrado

Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N15: Aprendizajes esperados: Alumno , dado un modelo de datos, crea , actualiza y manipula una vista en la base de datos Contenidos: Ejemplo de creacin y manipula una vista en la base de datosModelo Considere el siguiente modelo ya recreado en la base de datos. An no se ingresan datos:

Modelo diagramado con Oracle SQL Developer Data Modeler 2.0Vista a crear Asumamos que se desea tener en una vista la cantidad de automviles segn su tipo La sentencia SQL asociada sera:select b.descripcion tipo, count(a.patente) cantidadfrom auto a, tipo_auto bwhere a.tipo_auto_id=b.tipo_auto_idgroup by b.descripcionCreando la vista La vista la denominamos vw_tipos_autos. A la senentecia SQL le anteponemos create view vw_tipos_autos as y la vista ser creada

Seleccionando datos Podemos extraer datos de la vista A la vista, para la seleccin, podemos tratarla como una tabla normal

Segunda vista Crearemos otra vista con la siguiente instruccin:CREATE VIEW VW_PERSONA AS SELECT rut, nombre FROM persona;Seleccionando datos Podemos extraer datos de la vista Al que la vista anterior, para la seleccin, podemos tratarla como una tabla normal

Manipulando datos Podemos manipular datos de la vista. Por ejemplo, le ingresaremos datos En la tabla base de la vista, los datos quedan como se muestran a continuacin:

Ejercicio En la segunda vista pudo observar la manipulacin de datos que se pudo realizar Entonces, porqu en la primera de ellas no se puede realizar?Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N16: Aprendizajes esperados: Alumno , observa y aplica otras formas de aplicar el comando select de SQL Contenidos: Ejemplos de otras utilizaciones del comando selectModelo Considere el siguiente modelo ya recreado en la base de datos. An no se ingresan datos:

Modelo diagramado con Oracle SQL Developer Data Modeler 2.0Introduccin Adems de las selecciones simples, se pueden realizar combinaciones mas complejas Se pueden utilizar como tablas, o como camposAlgunos usos En el ejemplo, el select interior reemplaza en la clusula from a la tabla o la vista

Algunos usos Se pueden utilizar para filtrar los registros que retorna un comando select

Algunos usos Se puede crear una tabla con el comando select. La tabla asume la estructura de los datos arrojados por el select

Ejercicios Qu otras utilizaciones se pueden realizar? Se puede utilizar junto a comandos insert, delete, update?Case Method OracleIdentificar atributosAnlisis para el desarrollo del Modelo ConceptualEjemplo de MERLinks de IntersMapeo a Modelo RelacionalEjercicio de Mapeo de DatosEjercicio Normalizacin

Ejercicios de consultas a un esquemaDDL Ejemplo con un modelo relacionalEjemplos de manipulacin de datos en un esquema de datosVistasSeleccin de datosDiccionario de DatosSemana N17: Aprendizajes esperados: Alumno reconoce y utiliza las herramientas para la obtencin del diccionario de datos desde la base de datos Contenidos: Ejemplos para la obtencin del diccionario de datos de la base de datosQu es Diccionario de Datos? (DD) En palabras sencillas, es una especie de catlogo, que contiene las caractersticas (nombre, tamao, alias, contenido, etc.) entre otros, de las tablas, datos pertenecientes a la base de datos Se dice que el DD es una base de datos en s, y entre distintos DBMS son distintos, pero mantienen el mismo lineamiento Los ejemplos que se utilizarn, se basan en Oracle 10g ExpressDiccionario En el ejemplo, se realiza una seleccin de la tabla dictionary (sinnimo). En ella podemos ver la lista de tabla o vistas que contienen informacin de los metadatos de la BD

Algunos usos Segn la lista, las tablas o vistas comienzan por los prefijos DBA, ALL, USER. Por ejemplo DBA_TABLES: Todas las tablas que posee la base de datos (se necesitan permisos de DBA) ALL_TABLES: Todas las tablas accesibles por el usuario (las propias + las que se les ha otorgado permiso) USER_TABLES: Todas la tablas del usuarioDiccionario Tablas propias del usuario. Se aprecian cuatro (recuerde los ejemplos utilizados en los materiales de las semanas anteriores)

Diccionario Columnas de las tablas o vistas propias del usuario.

Ejercicios Obtener slo las vistas propias del usuario Obtener informacin del usuario actual Obtener el listado de restricciones (constraints) del usuario actual de la base de datos