Anteriormente he hablado sobre como conectar PHP con Oracle, y es bien sabido que las herramientas de Oracle son altamente usadas por programadores, tambien se habia hablado sobre como generar un script para una base de datos Oracle, con otra herramienta.
Cuando trabajamos con Bases de Datos es necesario realizar un buen modelamiento de los datos, ya que con estos nos aseguramos de contar con los requerimientos de integridad de las bases de datos relacionales. Para tal fin es necesario contar con una Herramienta CASE tal como SQL Developer Data Modeler, esta herramienta es muy completa para trabajar sobre el SGBD ORACLE, con esta herramienta podremos:
– Crear modelo lógico.
– Crear modelo físico.
– Crear tablas en lenguaje DDL.
CREAR MODELO LÓGICO
El ejercicio sera sencillo, se creara tres entidades, algo del diario vivir; tendremos las siguiente entidades: cliente, venta y empleado. Una vez descargado y configurado el SQL Developer Data Modeler, procedemos a lo siguiente:
1. Abrimos el espacio de trabajo para modelos lógicos:
2. Una vez allí veremos una serie de herramientas, de momento usaremos las que están dentro del marco azul:
3. Para crear las entidades usaremos el icono «Nueva Entidad», una vez creada la entidad en el espacio de trabajo podremos cambiar el nombre de esta:
4. Ahora crearemos los atributos de la entidad, para esto vamos al lado izquierdo en atributos donde veremos lo siguiente:
1. Herramientas creación de atributos.
2. El tipo de dato lógico nos sirve para escoger un tipo de dato mas exacto que nos convenga (BigInt, Integer, Varchar, etc).
3. Escogemos el tipo de dato que deseemos usar para el atributo a crear.
4. Elegimos si el atributo es la clave primaria de la entidad.
5. Una vez creadas la entidades procederemos con las relaciones que hay entre ellas, comenzare con la relación M:N, entre la entidad cliente y la entidad venta:
6. Cuando se normaliza este tipo de modelo, las relaciones M:N se abren en una nueva tabla, asi que si deseamos incluir atributos (igual que las entidades) haremos lo siguiente:
7. Hacemos lo mismo que el punto 5 para la relación 1:N o la relación 1:1, esto para la relación entre las entidades venta y empleado:
8. Una vez hayamos definido cada entidad y las dos relaciones correspondientes nos debe de quedar el modelo de la siguiente forma:
Cabe resaltar que estos diagramas los podemos guardar en el equipo, los cuales quedaran con extensión .dmd o .dmdz, con la finalidad de mejorarlos si es necesario.
CREAR MODELO FÍSICO
Para crear este tipo de modelo solo bastara contar con el anterior, ya que el SQL Developer Data Modeler nos permite hacer ingeniería sobre los modelos y script, como también Ingeniería Inversa. Ahora bien si ya tenemos el modelo lógico, solo quedar hacer los siguientes pasos:
1. Avanzaremos un paso mas en el diagramado, para esto buscamos la herramienta «Realizar Ingeniería a Modelo Relacional«:
2. Escogemos de que espacio lógico queremos realizar ingeniería, como también escogemos a que espacio relacional deseamos llevarlo, en este caso no hemos creado mas espacios, así que solo seleccionamos el botón enmarcado:
3. Luego veremos que se ha realizado el nuevo diagrama, como también se ha abierto un nuevo espacio de trabajo de tipo relacional:
Como vemos, se ha creado una nueva tabla en el gráfico, esto se debe a que el SQL Developer Data Modeler ha normalizado el Modelo Lógico que se había realizado, esto se vio en el punto 6 sobre Crear Modelo Lógico.
En otra oportunidad enseñare como usar el ultimo modelo para crear las sentencias DDL para crear las tablas en nuestro Gestor de Bases de Datos Oracle.
Felicidades, muy buen manual.
Gracias!
Me sirvió el manual.
Hola buenas tardes,
mi nombre es Ángel y quería hacerte una pequeña consulta:
tengo como tarea realizar una práctica que consiste en ejemplificar como Oracle Data Modeler representa claves primarias, ajenas o atributos obligatorios.
Pues bien, personalmente no consigo encontrar la manera de representar las claves ajenas, y lo cierto es que se me está yendo demasiado tiempo del que debiera.
Te agradezco la ayuda de antemano.
Un saludo.