pprogrammer
10. [Introducción a base de datos] - Introducción al Álgebra Relacional | Operaciones en las bases de datos
Introducción
En el numero anterior, se conocieron conceptos y elementos que conforman la base de datos
Ahora, toca descubrir lo que se puede hacer con esa información, vamos mas allá de los "editar, agregar, borrar y actualizar", que bien son las acciones que podemos hacer, se le saca más partido si utilizamos el álgebra relacional. Y no solo eso, si no que también se utiliza para analizar la calidad de la base de datos. Así que es importante conocer el álgebra relacional, tal vez no dominarlo como un matemático super dotado (aquí somos "ingenieros"), pero si defendernos cuando lleguen problemas que se apoyen de este tema. Ya que no solo se usa en base de datos, también sirve para otras ramas de la ingeniería, una de ellas la optmizacion que se apoya de los programadores (pero eso es para otro tema).
Conjuntos
Unión
Dados los conjuntos A, B existe otro conjunto C tal que:C contiene todos los elementos de A y BEjemplo de unión
Como se observa, no se repiten los elementos, solo aparecen una vez para indicar que el conjunto contiene ese elemento al realizar la unión
Intersección
Complemento
Diferencia
Elementos que están en A o en B, pero no en los dos conjuntos
Producto cartesiano
Todos los pares que se puedan formar combinando cada elemento de A con cada elemento de B
Subconjunto
A es sub-conjunto de B,si todos los elementos de A también son elementos de B
Operaciones sobre relaciones
Selección
Permutación
Proyección
Unión Natural
La diferencia con respecto con la proyección, es que aquí no dividimos los atributos para formar una relación, sino al contrario, juntamos atributos de varias relaciones (tablas) para formar una tabla mas completa.
Conclusiones
- Operaciones sobre conjuntos
- Union
- Interseccion
- Complemento
- Diferencia
- Diferencia simetrica
- Producto cartesiano
- Subconjuntos
- Operaciones sobre relaciones
- Permutaciones
- Seleccion
- Proyeccion
- Union natural
9. [Introducción a base de datos] - Modelo Relacional (Profundización y conceptos)
En el numero anterior se vio el modelo relacional, que es y como se come
Pero ahora toca ver conceptos mas profundizados acerca de ese modelo. Ya no te tomes tan a la ligera las entradas que siguen de ahora en adelante, así que presta mucha atención
Un pequeño flashback de como se compone el modelo relacional
1. Relación (Tablas)
2. Tupla (Fila)
3. Atributos (Columna)
Un ejemplo de base de datos
Datos simples VS Datos Compuestos ¿Cual elegir?
Si te fijas en el ejemplo de la base de datos (imagen de mas arriba), tiene todas las características. Relación, tuplas, atributos.
Pero, ¿que criterio se debe elegir para determinar que ese atributo sea simple o compuesto?
Depende de lo que quieras hacer.
Por ejemplo. (Para un dato simple)
Para datos "sencillos" que no pueden ser desglosados en mas tópicos
Digamos que tenemos una red social (facebook) que nos manda un mensaje de feliz cumpleaños.
Bueno, para esa tarea necesitamos un dato "simple" (su fecha de nacimiento) , nos basta con saber el mes y día para saber cuando mandar esa felicitación, con eso nos basta para recibir un "Feliz cumpleaños guapo".
Por ejemplo (Para un dato compuesto)
Para obtener información que puede ser desglosada y necesitamos que sea puntual
Ahora pensemos en una situación donde quisiéramos promediar los tiempos de entrega (amazon) para determinar el nivel de eficiencia. Podríamos utilizar una fecha de emisión y una fecha de entrega ¿cierto? Pero para ser mas exactos, se puede incluir la hora de emisión/entrega.
Es muy importante saber si utilizaremos datos simples o compuestos en la relación (tabla), de esta forma se puede desglosar la información y acceder a ciertos datos de forma puntual.- Fácil de consultar
- Consistente
- Fácil de mantener
En el sistema de información relativo a la docencia en una universidad, existen las siguientes reglas de conocimiento o propiedades que sólo tienen sentido en el contexto de una universidad:
R1: “se consideran estudios de primer ciclo los tres primeros años del plan de estudios de una titulación, y estudios de segundo ciclo los años posteriores (si es que existen)”.
Explicitamente, la base de datos no indica si una materia es de 1 o 2 ciclo, si no que en base a la relación de esta regla se puede inferir si la materia pertenece al primero o segundo ciclo. Y así se puede hacer con demás reglas e información de las relaciones
5. Redundancia
6. Consistencia
- Duración
- Estabilidad
- Veracidad de los datos
- Código de profesor
- Número de alumno
- Carnet de identidad
- Código de empleado
- N° Pasaporte
- Carnet de la biblioteca
- N° Afiliado
- Licencia de conducir
- Las personas con su nombre, aunque tal vez existan muchas personas con el nombre Pedro, solo existe un Pedro Sanchez De La Paz (en teoría).
- También los equipos de computo, aunque existan muchas marcas y modelos, cada maquina se diferencia con el firmware que se carga en ella para funcionar.
- Rojo
- Amarillo
- Azul
- Verde
- ...
- No existe
- No se conoce
- Puede cambiar (por eso los nombres de una persona no se usan como llave)
- Es muy grande
- Puede quedar invalidada
Conclusiones
- Base de datos
- Relaciones
- Tuplas
- Atributos
- El orden de las tuplas no importa (por eso existen las llaves para identificarlas)
- Los atributos no se repiten
- Datos simples y compuestos
- EVITAR LA REDUNDANCIA FUERTE
- Identificación de las tuplas (llaves)
- Llaves primarias
- Naturales
- Suplentes
8. [Introducción a base de datos] - Introducción al Modelo Relacional
Prefacio
¿No sabes nada de base de datos, te piden ser un experto diseñando la BD o simplemente quieres aprender?
Bueno, esta es la entrada que te ayudara (aunque todavía no veré nada de "código") a iniciarte en esta rama de la TI, Bases de Datos (te recomendaría leer los números anteriores de esta serie).
Sencillamente, este modelo se utiliza demasiado en el campo laboral por su facilidad y solidez. Cambien, recomendaría iniciar estudiando y practicando BD utilizando este modelo, después puedes practicar con otro tipo de modelo (Como los Modelos NO Relacionales, pero enfoquemonos primero en este).
Con este prefacio, pretendo que estudies, investigues y practiques utilizando este modelo si apenas vas iniciando en las BD. Bueno, si ya estas convencido de iniciar el camino ninja con este modelo, empecemos con el tema de esta serie.
Estas entradas serán lo más cortas posibles (si se puede) y "modularizados", así que, si no entiendes algún tema, puedes leer los numeros anteriores de mi serie para agarrar el hilo del tema que hablo. Pero si no lo quieres hacer, "no importa", siempre ire al grano con los conceptos, las explicaciones y ejemplos.
Introducción
(Si te saltaste el prefacio) Este modelo de datos es el más utilizado por su solides y consistencia, permitiendo modelar una gran cantidad de relaciones sin tanta dificultad.
Por esta razón es la que se hablara durante toda la serie.
¿Qué es el modelo relacional?
[1] Un modelo que representa datos por medio de tablas relacionadas cuyas filas se llaman tuplas y las columnas variables, conformando así una base de datos.
Se basan en la en la teoría de conjuntos, la lógica de predicados y álgebra de conjuntos. Fue creado por Edgar Codd en 1970.
- Es importante, recalcar que este modelo se basa en la teoría de conjuntos. Así que, no debemos dejarnos engañar por las tablas y pensar que es algo "sencillo", ni difícil pero tampoco fácil. Me gustaría tocar los conjuntos y , para que veas su importancia. Así que sí, hablare de conjuntos y seria bueno que lo leas.
¿Qué es un conjunto?
[3] Es una colección de elementos considerada en si misma como un objeto. Se dice que un elemento pertenece al conjunto si esta definido como incluido de algún modo dentro de él.
Relacionando teoría de conjuntos con las BD
- ¿Qué es el modelo relacional?
- ¿Qué es un conjunto?
- Las relaciones de este modelo funcionan porque se basa en la teoría de conjuntos (que no te engañen esas "inofensivas tablas").
¿Por qué utilizar el modelo relacional?
Como decía, este modelo funciona con la teoría de conjuntos, lo que nos da estas ventajas sobre los demás modelos planteados en anteriores números.- Permite utilizar las características de los conjuntos
- Provee las bases para un lenguaje de consulta de alto nivel (Es decir, que brinda independencia de la estructura de los datos en la máquina)
- Describe los datos en su estructura natural
- Sus bases solidas permiten tratar problemas como la derivabilidad, redundancia, consistencia de datos y limitaciones lógicas.
- Estas ventajas facilitan la vida para modelar una base de datos, y todas estas características son importantes. Pero haré incapie en "características de los conjuntos".
¿Qué son las características de los conjuntos?
- Permite utilizar las características de los conjuntos
- Provee las bases para un lenguaje de consulta de alto nivel (Es decir, que brinda independencia de la estructura de los datos en la máquina)
- Describe los datos en su estructura natural
- Sus bases solidas permiten tratar problemas como la derivabilidad, redundancia, consistencia de datos y limitaciones lógicas.
- Unión
- Intersección
- Diferencia
- Complemento
- Producto cartesiano
- Etc...
Conclusiones
- De que trata el modelo relacional
- Por que es uno de los mas usados
- Que funciona con la teoría de conjuntos
Bibliografía
1. Arias, Enrique
Rus. economipedia. economipedia. [En línea] [Citado el: 21 de
Noviembre de 2020.]
https://economipedia.com/definiciones/modelo-relacional.html.
2. nikemilio. clubensayos. clubensayos. [En
línea] 21 de Febrero de 2014. [Citado el: 21 de Noviembre de 2020.]
https://www.clubensayos.com/Tecnología/Características-De-Los-Conjuntos/1468708.html.
3. Pacay, Daniel. idocpub. idocpub. [En
línea] Diciembre de 2019. [Citado el: 21 de Noviembre de 2020.] https://idoc.pub/documents/idocpub-jlk90r72e545.
7. [Introducción a base de datos] - Modelo de bases de datos - Modelo de Redes
Introducción
Vamos en orden cronológico. El primer modelo en existir fue el modelo jerárquico, funcionaba, pero con sus deficiencias, específicamente no permitir relación muchos a muchos. Es aquí donde llega el modelo de redes.
¿Qué es el modelo de redes?
[1] Un modelo que se construye con conjuntos de registros relacionados. Cada conjunto consiste de un registro propietario o principal y uno o más registros miembros o secundarios. Un registro puede ser miembro o secundario en múltiples conjuntos, permitiendo que este modelo represente relaciones complejas.
Si... Ojala pudiera dar una definición un poco menos "técnica", pero cuando fue presentada como otra opción para modelar la información, su definición se torno muy complicada y difícil de entender.
Modelo Jerárquico VS Modelo de Redes
Este modelo se basa en los grafos, que es un diagrama que permite múltiples relaciones entre los elementos, es decir, permite relación de muchos a muchos, cosa que el modelo jerárquico no puede hacer.
Veamos con un ejemplo el porque se propuso como una mejor alternativa. Tomando como ejemplo este enunciado.
UNA ESCUELA, LA CUAL ESTA CONFORMADA POR ALUMNOS, MAESTROS Y CURSOS.
Si comparamos los esquemas de cada uno, el modelo de redes se ve mucho mejor porque no duplica los elementos, permite hacer relaciones de muchos a muchos y permite relaciones entre todas las entidades del sistema.¿Entonces es mejor el modelo de redes?
No necesariamente, depende del proyecto que se requiera realizar.
Se debe considerar sus pros y contras para decidir si conviene o no utilizar este modelo, en lo personal, sigo prefiriendo el modelo relacional. Pero ya depende de cada quien si le conviene utilizarlo.
Ventajas
- Utiliza reglas de integridad
- Mantiene,asegura la exactitud y consistencia de los datos durante todo el ciclo de vida
Desventajas
- Utiliza apuntadores (Muy complejo)
- Extremadamente difícil de mantener
Conclusiones
- Es una estructura basada en grafos
- Permite relaciones N:M
- Estructuralmente difícil
- Maneja apuntadores
Bibliografía
1. basesdedatos. basesdedatos.
[En línea] [Citado el: 21 de Noviembre de 2020.]
https://basededatos.top/modelo-de-base-de-datos/.
6. [Introducción a base de datos] - Modelo de bases de datos - Modelo Jerárquico
Introducción
Este fue el primer modelo creado y utilizado para gestionar la información. Fue un boom apoyado por IBM.
¿Que es el modelo jerárquico?
Es un modelo que organiza la información en una estructura de tipo árbol invertido
Nomenclatura
- Raíz: Es el primero nodo del arbol (Sería "Great apes" la raiz de este caso)
- Camino: Una secuencia de nodos y brazos conectados con un nodo descendiente.
- Padre: La noción inversa de hijo.
- Hijo: Un nodo conectado directamente con otro cuando se aleja de la raíz.
- Hermanos: Un conjunto de nodos con el mismo padre.
- Nodo: Un nodo con al menos un hijo
- Hoja: Un nodo sin hijos.
Ejemplos de Modelo Jerárquico
- HTML
¿Por que no es tan utilizado el modelo jerárquico?
- Izquierda: No hay mucho que decir, que dos padres apunten al mismo hijo no se puede. Cada "padre" tiene sus propios hijos, no los pueden compartir. (Eso nos dice el modelo jerárquico)
- Derecha: Es lo "correcto", tendríamos que hacer una copia de Alberto para que Patricia tenga a su hijo que tiene con José Luis, que se denote que es su madre. Pero hacer esto, solo hará mas difícil de entender el modelo (aunque este "organizado") por las múltiples copias que se hacen, y no solo mas difícil de entender, si no que el rendimiento del modelo lo alentaría por tener muchas copias al intentar imitar la relación muchos a muchos.
Conclusiones
5. [Introducción a base de datos] - Modelo de bases de datos - Archivos Planos
¿Qué es un modelo de archivos planos?
Son una colección de información que está almacenada con una estructura poco organizada. Se caracteriza porque en este modelo la información no se maneja fácilmente (de hecho es casi imposible).Clasificación de los archivos planos
- Texto plano
- Archivos binarios
Texto Plano
Ejemplos de archivos planos
- Los Comma Separated Values (valores separados por comas)
- Marcados (Como HTML)
- Sin formato
Archivos Binarios
Ejemplos de Archivos Binarios
- Binario
- Hexadecimal
- Procesador de palabras
- Hoja de calculo
Ventajas de los archivos planos
- Fáciles de comprimir
- Tasa de transferencia alta
- Son humanamente legibles
- Estructura poco organizadas
- Manejable solo con volúmenes pequeños
- Carecen de seguridad
- Difícil de hacer relaciones
- Los datos se corrompen fácilmente
-
Ya tenemos ciertos conocimientos de este tema, y como te decía en otras entradas, existen varios tipos de bases de datos. Es hora de que ate...
-
Introducción Vamos en orden cronológico. El primer modelo en existir fue el modelo jerárquico, funcionaba, pero con sus deficiencias, especí...
-
Introducción Este fue el primer modelo creado y utilizado para gestionar la información. Fue un boom apoyado por IBM. ¿Que es el modelo jerá...