Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Después de hacer programas en Java, muchas veces se necesita almacenar más allá de Arrays o
Listas, se necesita ir más allá.
Por lo cual es necesario generar una base de datos a la que desde ahora se referirá a DB (Data
Base).
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También
son ampliamente utilizadas en entornos científicos y de ingeniería con el objeto de almacenar
la información experimental.
Las bases de datos pueden clasificarse de acuerdo a su función: según la variabilidad de la base
de datos, según el contenido.
Cada uno de ellos se aplica para un propósito específico, pero para la materia interesa estudiar
el modelo relacional.
3.1.1. Terminología
Con el fin de llevar una mejor comprensión del tema, es importante tener en cuenta la siguiente
terminología:
Relación = tabla
Registro = fila o tupla
Campo = columna o atributo
Clave = llave o código de identificación
Clave Candidata = superclave mínima
Clave Primaria = clave candidata elegida
Clave Externa = clave ajena o clave foránea
Clave Alternativa = clave secundaria
Dependencia Multivaluada = dependencia multivalor = dependencia múltiple
DB = Base de datos
DBMS = Sistemas gestores de bases de datos
OODB = Base de datos orientada a objetos
RDBMS = Del inglés Relational Data Base Management System, que significa Sistema de
gestión de bases de datos relacionales
1FN = Significa Primera Forma Normal o 1NF, del inglés First Normal Form
3.2. Diseño de base de datos relacionales
Este modelo hace relación entre filas y columnas, es decir hace relación como si fuese una tabla
que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos
(las columnas de una tabla). Tal y como una tabla Excel.
Por seguridad, Java utiliza variables de cadena string para almacenar nombres de usuario y
contraseñas para conexiones de bases de datos remotas y otra información de red. La
inmutabilidad de las cadenas string significa que una vez que se han creado estos objetos, no
pueden ser pirateados.
En el modelo relacional es frecuente llamar tabla a una relación; pero para llevar una lectura
amena del documento se llamará relación, para que una tabla sea considerada como una
relación tiene que cumplir con algunas restricciones:
Entonces se dice que una base de datos está en la forma normal N, es decir que todas sus
relaciones están en la forma normal N.
En general, las primeras tres formas normales son el mínimo que deben cubrir la mayoría de las
bases de datos.
Todos los registros son atómicos. Un registro se dice atómico si los elementos son
simples e indivisibles.
No hay variación en el número de campos.
Debe existir una independencia del orden tanto de registros como de campos; es decir,
si los datos cambian de orden no deben cambiar sus significados.
Si hay valores repetidos dentro de una DB, por esta forma normal, hacen que eliminan.
Toma tiempo hacer esto de separar en tablas independientes, esto se llama normalizar, pero si
se hace se tiene ventajas, como ser que se puede añadir nuevas columnas a la relación sin
afectar a las nuevas relaciones, y que los datos se acomoden dentro de los límites esperados.
Por ejemplo si se tiene una relación en Excel, donde un campo (o registro) tenga una fórmula
que dependa de los datos adyacentes, si se incorpora un nuevo campo (o nuevo registro) al lado
(superior, inferior, derecha, izquierda), hace que el valor ya no sea el esperado, entonces no
cumpliría la 2FN.
Para percatarse de que existían bases de datos en el mercado que tengan tendencia a ser
relacionales, existen doce reglas (Codd1) para que un verdadero sistema sea relacional. En la
práctica algunas de ellas son difíciles de realizar. Un sistema podrá considerarse "más relacional"
cuanto más siga estas reglas, con Java es posible cumplir varias de las reglas
1
Edgar Frank Codd, (nacido el 19 de agosto de 1923, Portland, Dorset, Inglaterra, falleció el 18 de abril de
2003, Williams Island, Florida, EE. UU.), Un informático y matemático estadounidense nacido en Gran
Bretaña que ideó el modelo de datos "relacionales", que condujo a la creación de la base de datos
relacional, un método estándar para recuperar y almacenar datos de la computadora.
o Regla 8: La regla de independencia física
o Regla 9: La regla de independencia lógica
o Regla 10: La regla de la independencia de la integridad
o Regla 11: La regla de la distribución
o Regla 12: Regla de la no-subversión
Para la siguiente, desarrollar las relaciones correspondientes para cumplir 1FN hasta 3FN.
Pérez Gómez,
1001 Practical Java Programming Perry Xiao Willey 15/4/2020
Juan
Solución
Esta relación no cumple el requisito 1NF de sólo tener campos atómicos, pues el nombre del
lector es un campo que puede (y conviene) descomponerse en apellido paterno, apellido
materno y nombres. Tal como se muestra en la siguiente relación.
Practical Java
1001 Perry Xiao Willey Pérez Gómez Juan 15/4/2020
Programming
Nancy
1007 Oracle University Greenberg y Oracle Corp. García Roque Luis 18/4/2020
Priya Nathan
Como se puede ver, hay cierta redundancia característica de 1NF.
La 2NF pide que no existan dependencias parciales o dicho de otra manera, todos los campos
no clave deben depender por completo de la clave primaria. Actualmente en esta relación se
tiene varias dependencias parciales si se considera como campo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del
lector en realidad no tiene dependencia de este código, por tanto estos datos deben ser
trasladados a otra relación.
Se crea una relación para contener los datos del lector y también se creó el campo CodLector
para identificar unívocamente a cada uno. Sin embargo, esta nueva disposición de la DB necesita
que exista otra relación para mantener la información de qué libros están prestados a qué
lectores. Esta relación se muestra a continuación:
Para 3NF la relación debe estar en 2NF y además los campos no clave deben ser mutuamente
independientes y dependientes por completo de la clave primaria. Recordar que los campos en
la relación deben contener solamente información sobre la entidad definida por la clave
primaria y, por tanto, los campos de la relación contener datos acerca de una sola cosa.
En este ejemplo en 2NF, la primera relación conserva información acerca del libro, los autores y
editoriales, por lo que se debe crear nuevas relaciones para satisfacer los requisitos de 3NF.
Primera parte:
CodLibro Titulo
Practical Java
1001
Programming
1004 Java for kids
Learn Java GUI
1005
applications
Métodos numéricos y
1006
diseño de algoritmos
1007 Oracle University
CodAutor Autor
801 Perry Xiao
Philip Conrod,
802
Luo Tylee
Philip Conrod,
803
Luo Tylee
Edgar Gonzales
804
Laura
Nancy Greenberg
806
y Priya Nathan
CodEditorial Editorial
901 Willey
Kidware
902
Software
Kidware
903
Software
Aunque se ha creado nuevas relaciones para que cada una tenga sólo información acerca de una
entidad, también se ha perdido la información acerca de qué autor ha escrito qué libro y las
editoriales correspondientes, por lo que se debe crear otras relaciones para cada libro con sus
autores y editoriales.
Segunda parte:
CodLibro codAutor
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901
Tercera parte:
Las OODB son aquellas que contienen informaciones representadas mediante distintos tipos de
objetos, entre los cuales se establecen una serie de operaciones para su interacción. En esta
clase de BD se utilizan los patrones definidos para el paradigma de la programación orientada a
objetos.
Existen marcas reconocidas para OODB (software), sin embargo para esta materia estamos
empleando programación en Java, como Java está orientado a objetos, entonces es posible
realizar una OODB. Por tanto la información estará bien organizada y estructurada. La
atomicidad es una de sus principales propiedades, esta se refiere a la condición de que cada
operación o se realiza en su totalidad o se revierte, lo cual evita que las operaciones queden a
medias.
Para BD pequeñas es muy buena, cuando crece se debe recurrir a otras aplicaciones o marcas,
caso como los del big data2.
a) Modelo conceptual
Este es el nivel primario del modelo que define la estructura de los datos de acuerdo con los
requisitos del sistema. Se enfoca en atributos, entradas y relaciones orientadas a sistemas.
Características
b) Modelo lógico
Esta capa es más compleja y estructurada que la capa conceptual. Contiene información
sobre cómo se debe implementar el modelo definiendo la estructura y las relaciones de los
elementos de datos. La principal ventaja del modelo lógico es que proporciona una base
firme para el modelo físico.
Características
o El modelo lógico enumera los requisitos del proyecto, pero dependiendo del alcance
también podría integrarse con otros modelos de datos.
o Está diseñado y desarrollado independientemente de DBMS.
o Los tipos de datos de los elementos de datos tienen una longitud precisa.
c) Modelo físico
2
El Big Data se refiere a conjuntos de datos o combinaciones de conjuntos de datos cuyo tamaño
(volumen), complejidad (variabilidad) y velocidad de crecimiento (velocidad) dificultan su captura,
gestión, procesamiento o análisis mediante tecnologías y herramientas convencionales, tales como DB
relacionales y estadísticas convencionales o paquetes de visualización, dentro del tiempo necesario para
que sean útiles.
particiones, etc. El modelo de datos físicos ayuda a visualizar toda la estructura de la base
de datos.
Características
o Enumera las necesidades de un solo proyecto, también podría integrarse con otros
modelos físicos.
o Este modelo contiene relaciones entre los datos, relaciones de nulo y/o cardinal de
dichas relaciones.
o Está diseñado y desarrollado específicamente para una versión específica de DBMS, con
el almacenamiento de datos requerido y la ubicación.
o Todos los campos deben tener un tipo de datos preciso, valores predeterminados y
longitud.
En un sistema de gestión de bases de datos basado en el modelo relacional, es decir, los datos y
las relaciones están representados por una colección de tablas interrelacionadas.
Este grupo propuso un modelo estándar para la semántica de los objetos de una base de datos,
los componentes principales para:
Modelo de objetos
o El modelo de objetos ODMG permite que tanto los diseños, como las
implementaciones, sean portables entre los sistemas que lo soportan
Lenguaje de definición de objetos (Objet Definition Languaje o ODL)
o ODL es un lenguaje de especificación para definir tipos de objetos para sistemas
compatibles con ODMG. Define los atributos y las relaciones entre tipos, y
especifica la signatura de las operaciones.
Lenguaje de consulta de objetos (Object Query Language o OQL)
o OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas
de modo eficiente sobre bases de datos orientadas a objetos, incluyendo
primitivas de alto nivel para conjuntos de objetos y estructuras
Que definen la conexión con los lenguajes C++, Smaltalk, Java, etc.
Ejemplo: Una persona desea “llevar” su auto averiado a un servicio técnico, en este caso la
persona puede hacer las pruebas que requiera para demostrar que hay falla, luego se deja al
personal del servicio técnico. Posterior a ello el personal técnico no tiene que mostrar las
herramientas o los procedimientos (oculta), para reparar la falla. Finalmente se va “entregar” a
la persona y esta puede hacer las pruebas para ver si se reparó la falla. Es importante recodar
como se usa el private o el public.
La herencia es la propiedad a través de la cual los objetos heredan comportamiento dentro de
una jerarquía de clases.
También polimorfismo se refiere al uso de la misma firma de mensaje para dirigir diferentes
métodos en diferentes clases. Cuando el diseñador envía una señal a un objeto, el método de la
clase de objeto, posiblemente heredado, procesa la señal.
Ahora es posible hallar la referencia a “archivo XML”, este se divide en dos partes: prolog y body.
La parte prolog consiste en metadatos administrativos, como declaración XML, instrucción de
procesamiento opcional, declaración de tipo de documento y comentarios. La parte del body se
compone de dos partes: estructural y de contenido (presente en los textos simples).
3
Área de almacenamiento dentro del microprocesador dedicada a la recuperación a gran velocidad de los
datos usados o solicitados con más frecuencia.
4
ACID (atomicity, consistency, isolation, durability) En BD se denomina ACID a las características de los
parámetros que permiten clasificar las transacciones de los sistemas de gestión de DB.
Por ejemplo en el libro [1] página 14 dice: Para obtener más detalles sobre cómo configurar
variables de entorno Java, visite:
https://www.java.com/en/download/help/path.xml
Otro ejemplo es cuando se quiera realizar una aplicación Android el XML esta presente:
main_activity.xml
AndroidManifest.xml
Tanto los sistemas informáticos como las bases de datos contienen información en formatos
incompatibles.
Los datos XML se almacenan en formato de texto simple, lo que nos posibilita una forma
independiente de almacenar datos. Esto facilita mucho la creación de datos que pueden ser
compartidos por diferentes aplicaciones.
Uno de los desafíos más difíciles para los desarrolladores es intercambiar datos entre sistemas
incompatibles a través de Internet. El intercambio de datos como XML reduce en gran medida
esta complejidad porque los datos pueden ser leídos por diferentes aplicaciones incompatibles.
Los datos XML se almacenan en formato de texto. Esto facilita la expansión o actualización a
nuevos sistemas de información, nuevas aplicaciones o nuevos navegadores sin pérdida de
datos.
Diferentes aplicaciones pueden acceder a tus datos, no solo en páginas HTML5, sino también en
fuentes de datos XML.
Con el XML, los datos pueden estar disponibles para todos los tipos de “máquinas de lectura”
(computadoras de mano, máquinas de voz, feeds de noticias, etc.) y, además, facilita la
accesibilidad para personas con capacidades diferentes, por ejemplo no videntes.
Muchos idiomas nuevos en Internet son creados con XML, ejemplos: XHTML, WSDL, WAP y
WML, RSS (utilizado en noticias), RDF y OWL, SMIL.
5
HyperText Markup Language, es decir, Lenguaje de Marcas de Hipertexto para páginas de internet
equipos que controlan las máquinas herramienta. Este control CNC es un componente
importante del proceso de fabricación que mejora la automatización y aumenta la flexibilidad
http://winder.github.io/ugs_website/download/
Se hace correr este programa, antiguamente solía conectarse a Netbeans, estas nuevas
versiones corren directamente sobre Java, y sale el mensaje.
Figura 3 Primeros mensajes Universal G-Code
El mensaje de “No serial ports found”, obviamente sale porque no se tiene conectado máquinas
herramientas a los puertos. De todas formas se puede manejar.
https://diymachining.com/g-code-example/
Cuando se llegue a tener este programa Universal G-Code, posteriormente se puede hacer un
enlace con una máquina herramienta, calibrar las posiciones, enviar los comandos, y se puede
hacer el objeto que se haya realizado para el código G.