DEFINE: 1FN
La relación no puede tener grupos repetitivos
DEFINE: 2FN
Estar en 1FN y NO puede haber dependencias funcionales
parciales respecto de la clave
DEFINE: 3FN
Estar en 2FN y NO puede haber dependencias funcionales
transitivas
DEFINE: FNBC
Estar en 3FN. Es una versión más estricta de la 3FN y se alcanza cuando cada determinante (un atributo que determina otro) en la tabla es una clave candidata
DEFINE: 4FN
Estar en FNBC o en 3FN, o ambas y busca eliminar los problemas que nacen de malas relaciones, provenientes de las dependencias multivaluadas
DEFINE: 5FN
Estar en 4FN y eliminar redundancias de datos resultantes de dependencias de unión
Modelo relacional. Tipos de clave
Clave candidata: conjunto de atributos que identifican unívocamente a cada tupla (irreducible)
Clave primaria: clave candidata elegida
Superclave: igual que la clave candidata pero sin ser un conjunto mínimo: es reducible
El resultado de la normalización serán más relaciones con..
– Redundancia
++ Joins (peor rendimiento en consultas)
que tipo de lenguaje es?
Se basan en funciones matemáticas, evitan estados y efectos secundarios.
Uso intensivo de funciones
Inmutabilidad
Recursividad en lugar de bucles
Ejemplos:
Lisp, Haskell, Scheme, F#, Clojure, Erlang, OCaml, Lean
Lenguajes funcionales
que tipo de lenguaje es?
Lenguajes principalmente OO, clásicos o muy centrados en objetos.
Clases y objetos
Encapsulación, herencia, polimorfismo
Ejemplos:
Ada, Eiffel, Kotlin, PHP, Ruby, Swift, Dart, Objective-C, Java, C++
Lenguajes Orientados a Objetos – I
que tipo de lenguaje es?
no solo OO.
OO + funcional + imperativo
Más flexibilidad de estilos
Ejemplos:
Smalltalk, C#, VB.NET, Python, F#, Go, Rust
Lenguajes Orientados a Objetos – II, Lenguajes multiparadigma
que tipo de lenguaje es?
Usados comúnmente en machine learning, IA y ciencia de datos.
Librerías especializadas
Soporte para lógica, estadística o aprendizaje automático
Ejemplos:
Python, R, Prolog
Lenguajes para ML / IA
que tipo de lenguaje es?
Se ejecutan sin compilación previa completa (o con interpretación/JIT).
Desarrollo rápido
Portabilidad
Menor rendimiento que compilados puros
Ejemplos:
PHP, Perl, Python, Ruby, Raku
Lenguajes interpretados
Define Recursividad
Función que se llama a sí misma
Toda recursividad necesita un caso BASE o de PARADA
Sin eso → bucle infinito
Llamada a función (PILA), que guarda?
Cada llamada guarda en la pila:
Valor de retorno
Parámetros
Variables locales
Dirección de retorno
👉 Por eso la recursividad profunda puede causar stack overflow.