Aprender a programar - Recomendaciones

He aprobado el primer examen de Estructuras de Datos!!!!! Raspadisimo pero lo se sacado.. y sin responder la pregunta mas facil :D

Tengo que echarle un vistazo al argumento porque creo que le habia puesto un argumento generico, pero parece ser que no.

En fin, muy contento! :)

1680609111807.png
 
Acabo de contratar a un valenciano. Lo de buscar trabajo donde se vive es tan de 2019…
 
Aqui estoy con otro proyecto para la uni, el de Bases de Datos.

Tengo que crear una base de datos para un negocio, he elegido una libreria que va a pasar de tener una sola tienda fisica a tener una tienda fisica y una online.

Algunas de las preguntas son:
- Crea las entidades, relaciones, atributos y etc.
- Dibuja el Entity Relationship Diagram.
- Pon las entidades en 3NF.

Y como me gusta tener todo ordenado he creado otro diagrama nuevo despues de tener las entidades y los atributos en el 3NF.. y tengo una duda.

Vamos a ver si me podeis echar un cable genios del foro @Hallowed @Tim @TheReeler @WRC :D

1682255890260.png



Mientras estaba creando el diagrama, el programa (Visual Paradigm) ha creado una nueva entidad, PRODUCTORDER_PRODUCT.
Me da la impresion viendo el diagrama que podria eliminar PRODUCTORDER y hacer una relacion directa entre PRODUCT y ORDER diciendo que una order puede tener muchos productos, pero claro, entonces tendria que anadir un atributo "quantity" en ORDER.

Habia creado la entidad PRODUCTORDER para poner muchos productos en un sitio unico y que una unica ORDER pudiese tener varios PRODUCT ORDER porque quiza un cliente quiere comprar varios productos pero para diferentes personas?.
 
Última edición:
¿Hablas de genios del foro y no me citas? :?

Mal.
 
Aqui estoy con otro proyecto para la uni, el de Bases de Datos.

Tengo que crear una base de datos para un negocio, he elegido una libreria que va a pasar de tener una sola tienda fisica a tener una tienda fisica y una online.

Algunas de las preguntas son:
- Crea las entidades, relaciones, atributos y etc.
- Dibuja el Entity Relationship Diagram.
- Pon las entidades en 3NF.

Y como me gusta tener todo ordenado he creado otro diagrama nuevo despues de tener las entidades y los atributos en el 3NF.. y tengo una duda.

Vamos a ver si me podeis echar un cable genios del foro @Hallowed @Tim @TheReeler .

Ver el archivo adjunto 46296


Mientras estaba creando el diagrama, el programa (Visual Paradigm) ha creado una nueva entidad, PRODUCTORDER_PRODUCT.
Me da la impresion viendo el diagrama que podria eliminar PRODUCTORDER y hacer una relacion directa entre PRODUCT y ORDER diciendo que una order puede tener muchos productos, pero claro, entonces tendria que anadir un atributo "quantity" en ORDER.

Habia creado la entidad PRODUCTORDER para poner muchos productos en un sitio unico y que una unica ORDER pudiese tener varios PRODUCT ORDER porque quiza un cliente quiere comprar varios productos pero para diferentes personas?.

Yo hago la base de datos en "MySQL" y es un pelín más sencillo con respecto a las categorías, los atributos y las relaciones (si has usado a menudo bases de datos con "access" se parece mucho). Es importante la clave o ID que elijas, el resto ya va bien con las relaciones. Uso "php" para los filtros y lo asocio a mi base de datos. :lee

Has empezado muy bien, sigue así (miras los datos que tiene cada categoría y las relaciones, por si puedes quitar una). :palmas
 
¿Hablas de genios del foro y no me citas? :?

Mal.
Pero si estas en el post :P
Yo hago la base de datos en "MySQL" y es un pelín más sencillo con respecto a las categorías, los atributos y las relaciones (si has usado a menudo bases de datos con "access" se parece mucho). Es importante la clave o ID que elijas, el resto ya va bien con las relaciones. Uso "php" para los filtros y lo asocio a mi base de datos. :lee

Has empezado muy bien, sigue así (miras los datos que tiene cada categoría y las relaciones, por si puedes quitar una). :palmas
Tengo que hacer la base de datos en MySQL tambien, con views, store procedures, triggers y queries normales. Son las ultimas preguntas despues de hacer todo el proceso anterior.
Voy a re-mirar las categorias y las relaciones.. porque creo que si que puedo quitar PRODUCTORDER.

Gracias!!
 
He sacado un 7 en bases de datos! Aqui os dejo el trabajo por si alguien le quiere echar un vistazo.

Una pregunta no la conteste porque no sabia como hacerlo, "como calcular el porcentaje del crecimiento del negocio cada mes en base a los productos vendidos".

1683015519397.png
 

Adjuntos

  • X22116133_HDSDEV_SEPBL_YR1_Vinas_MiguelAngel_Description.pdf
    566,1 KB · Visitas: 69
Está muy bien. :atope
El porcentaje de crecimiento lo podías hacer con un "select", seleccionando dos campos relacionados y con una operación matemática (ya tienes la pista para verlo, con paciencia y tiempo). :cortina

PHP te puede gustar mucho y ya tienes cierta base (Phyton también es muy intuitivo y se aprende rápido).
 
Última edición:
Se me pasó el post. Ya es casualidad, también usamos Visual Paradigm para el diseño de la BD, aunque cuando pasas de las 200 tablas, va lento de narices y se hace muy complicado "verlo", ahí se queda cojo el producto y echo algunas cosas de menos.

Respecto a la cuestión, hay varias cosas que están mal en el diseño. La tabla que relaciona un pedido con los productos, debe tener dos relaciones, una con ORDER y otra con PRODUCT, además de su propia primary key. Si te fijas, en tu tabla le has indicado que la PK es productID, por eso el programa te crea otra tabla, le falta ese algo que tendría si hubieras indicado las dos FKs y su PK.

Luego está el tema de las direcciones. Para cada registro en la tabla ADDRESS, ¿cuántos clientes, tiendas o proveedores crees que tendrás? Apuesto a que es una relación 1-1 tal y como la has diseñado.

Lo que sí se va a repetir es la calle, eso sí tiene sentido tenerlo en una tabla, de forma que las entidades con una dirección tengan su FK hacia ella, pero luego cada entidad tendría que guardar los datos a nivel de número (número, piso, puerta ... )
 
Se me olvidaba, tema nomenclator. Yo ahí soy muy talibán, pero es que tal y como está, cuesta "leerlo".

Por ejemplo, "productID". Si ves ese campo en medio del código, no sabes si te estás refiriendo a un campo de la tabla hija de pedidos o de la tabla de productos.

Sí a un motor de BD le haces un query de los productos de un pedido, y le acabas indicando un predicador tipo "where productID=47", te dará un error porque no sabe a qué campo te refieres, si al de la tabla PRODUCT o al de la tabla PRODUCTORDER. Tendrías que especificar el campo de la siguiente manera "where PRODUCTORDER.productID=47"

Ahí ya no habría duda, pero mejor es aún que los campos sean únicos en una base de datos, que cualquiera que vea escrito un nombre de campo, sepa a qué tabla pertenece.

De esa forma escucho más simple de escribir y también de comprender y mantener el código. En bases de datos pequeñas o simples puede no ser importante, pero te aseguro que cuando tengas una query de 500, 1000 ó más líneas, lo vas a agradecer mucho.
 
He sacado un 7 en bases de datos! Aqui os dejo el trabajo por si alguien le quiere echar un vistazo.

Una pregunta no la conteste porque no sabia como hacerlo, "como calcular el porcentaje del crecimiento del negocio cada mes en base a los productos vendidos".

Ver el archivo adjunto 46424
Suponiendo que esa base es el precio de los productos (que ahí hay algo que tienes mal... piensa McFly, piensa), seria sencillo.

Tendrías que sumar los precios de todos los productos de todos los pedidos de todas las tiendas que se hicieron en el mes anterior.

Luego debes de hacer lo mismo pero con los pedidos de este mes. Regla de tres, y tendrás el porcentaje diferencial entre ambos meses, que puede ser positivo o negativo.

Y si lo quieres por tienda, es igual pero agrupando por el campo storeID.

Estoy en el móvil, pero desde el ordenador se escribe relativamente rápido la query asociada para calcularlo todo.
 
Está muy bien. :atope
El porcentaje de crecimiento lo podías hacer con un "select", seleccionando dos campos relacionados y con una operación matemática (ya tienes la pista para verlo, con paciencia y tiempo). :cortina

PHP te puede gustar mucho y ya tienes cierta base (Phyton también es muy intuitivo y se aprende rápido).
Gracias!!! Lo estuve mirando y dandole un poco aqui en el SQL Workbench y tenias razon.
Me da la impresion que un monton de formulas y funciones matematicas, como SUM(), son parecidas a las de Excel.

Voy a investigar PHP, Python creo que tengo el año que viene.
Suponiendo que esa base es el precio de los productos (que ahí hay algo que tienes mal... piensa McFly, piensa), seria sencillo.

Tendrías que sumar los precios de todos los productos de todos los pedidos de todas las tiendas que se hicieron en el mes anterior.

Luego debes de hacer lo mismo pero con los pedidos de este mes. Regla de tres, y tendrás el porcentaje diferencial entre ambos meses, que puede ser positivo o negativo.

Y si lo quieres por tienda, es igual pero agrupando por el campo storeID.

Estoy en el móvil, pero desde el ordenador se escribe relativamente rápido la query asociada para calcularlo todo.
Gracias por los comentarios!

Respecto a las queries, esta semana he terminado el segundo proyecto de bases de datos y al hacer las queries indique toda la direccion (con la tabla) porque me parecia mas facil de entender! Aunque seguro que vosotros los pros ya no lo haceis asi 😄

Llegas a los campos unicos para cada tabla cuando haces la normalizacion, o te refieres a campos unicos en toda la base de datos?. Si es asi, como resuelves campos que van a tener el mismo valor en diferentes tablas?

Pongamos el ejemplo de un campo que es "idProducto" (no es el mejor pero no se me ocurre ahora a las 9.30 otro 😊), si tienes dicho campo en varias tablas como "Cliente", "Tienda", etc; lo nombras como "idProductoCliente", "idProductoTienda" y demas?
Seguro que se te ocurre un ejemplo mejor.

Por otro lado, ayer termine oficialmente el primer año de Ingenieria!!! Mande mi ultimo proyecto de OOSE y ahora a esperar las notas.

Ya casi soy ingenieeeeero!!!! 😄
 
Pongamos el ejemplo de un campo que es "idProducto" (no es el mejor pero no se me ocurre ahora a las 9.30 otro 😊), si tienes dicho campo en varias tablas como "Cliente", "Tienda", etc; lo nombras como "idProductoCliente", "idProductoTienda" y demas?
Seguro que se te ocurre un ejemplo mejor.
La tabla cliente sería por ejemplo CLI y la tienda TIE. Si en ambas tengo idProducto, un campo sería CLI_idProducto y el otro TIE_idProducto, de forma que queda todo mucho más legible, y sobre todo, el día que tengas un error del tipo "field xxxx can not contain null value", si ahí en ese xxxx ves "idProducto", no vas a saber en qué tabla está el problema, pero si ves escrito "field TIE_idProducto can not contain null value", vas a saber automáticamente donde buscar.

Ahora mismo a estas horas tampoco se me ocurren ejemplos mejores :lol
 
La tabla cliente sería por ejemplo CLI y la tienda TIE. Si en ambas tengo idProducto, un campo sería CLI_idProducto y el otro TIE_idProducto, de forma que queda todo mucho más legible, y sobre todo, el día que tengas un error del tipo "field xxxx can not contain null value", si ahí en ese xxxx ves "idProducto", no vas a saber en qué tabla está el problema, pero si ves escrito "field TIE_idProducto can not contain null value", vas a saber automáticamente donde buscar.

Ahora mismo a estas horas tampoco se me ocurren ejemplos mejores :lol
Pues me apunto la recomendacion! Muchas gracias 😊
 
Vamos a ver si alguno controlais esto:

Entro en mi web (miguelangelvinas.com) y me sale lo siguiente:

Fatal error: Cannot redeclare _get_path_to_translation() (previously declared in /home/yvb18ju1la17/public_html/wp-includes/l10n.php:1117) in /home/yvb18ju1la17/public_html/wp-includes/deprecated.php on line 4381

Notice
: Function is_embed was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.) in /home/yvb18ju1la17/public_html/wp-includes/functions.php on line 5866

Notice
: Function is_search was called incorrectly. Conditional query tags do not work before the query is run. Before then, they always return false. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.) in /home/yvb18ju1la17/public_html/wp-includes/functions.php on line 5866
There has been a critical error on this website.



He intentado todo lo que aparece en Wordpress y no hay manera de conseguir volver a la pagina o acceder al panel de login.

La tengo alojada en godaddy y no pueden rescatar un backup de hace 30 dias porque mi plan es de backup de dia a dia.

Alguna idea???

Gracias!!!!! 😊 😊
 
La pregunta importante: ¿Qué se modificó cuando dejó de funcionar?
 
This error message is usually caused by a function being declared twice. The error message is telling you that the function `_get_path_to_translation()` has been declared twice. This can happen if you have two files that both declare the same function or if you have the same function declared in two different places in the same file²³.

You can solve this problem by using `require_once` instead of `require` or `include_once` instead of `include` for including your functions.php file -- so it cannot be included more than once².

If you are not a programmer, you can try manually resetting your plugins (no Dashboard access required). If that resolves the issue, reactivate each one individually until you find the cause⁴.

Origen: Conversación con Bing, 27/5/2023
(1) Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir .... Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir().
(2) How Can I solve this problem in my wordpress site Fatal error: Cannot .... How Can I solve this problem in my wordpress site Fatal error: Cannot redeclare true_plugins_activate() (previously declared in.
(3) Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir .... Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir() (previous.
(4) . wordpress fatal error cannot redeclare _get_path_to_translation() - Bing.

Dice ChatGPT.
 
This error message is usually caused by a function being declared twice. The error message is telling you that the function `_get_path_to_translation()` has been declared twice. This can happen if you have two files that both declare the same function or if you have the same function declared in two different places in the same file²³.

You can solve this problem by using `require_once` instead of `require` or `include_once` instead of `include` for including your functions.php file -- so it cannot be included more than once².

If you are not a programmer, you can try manually resetting your plugins (no Dashboard access required). If that resolves the issue, reactivate each one individually until you find the cause⁴.

Origen: Conversación con Bing, 27/5/2023
(1) Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir .... Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir().
(2) How Can I solve this problem in my wordpress site Fatal error: Cannot .... How Can I solve this problem in my wordpress site Fatal error: Cannot redeclare true_plugins_activate() (previously declared in.
(3) Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir .... Fatal error: Cannot redeclare _get_path_to_translation_from_lang_dir() (previous.
(4) . wordpress fatal error cannot redeclare _get_path_to_translation() - Bing.

Dice ChatGPT.
This error message is usually caused by a function being declared twice. The error message is telling you that the function `_get_path_to_translation()` has been declared twice. This can happen if you have two files that both declare the same function or if you have the same function declared in two different places in the same file²³.

Esto lo sabia peeero ni sabia como resolverlo (con require_once). Lo que me sorprende es que el error venga del fichero base de Wordpress.

You can solve this problem by using `require_once` instead of `require` or `include_once` instead of `include` for including your functions.php file -- so it cannot be included more than once².

Gracias @Tim, voy a probar 😊
 

Me encantan las feministas que están con la matraca de que no hay mujeres en estudios tecnológicos. Hace unos 20 años, en mi último año de facultad, había más mujeres que hombres. Pero eso no se cuenta, no interesa. No se cuenta que tal vez les no les resulta interesante estar picando código delante de una pantalla el resto de su vida. No se cuenta que en las facultades se tratan como un diez por ciento de las salidas laborales que hay después. Porque de sistemas no hay nadie. De temas Cloud, y eso que es sistemas pero más fácil, menos. ¿Bases de datos? Con lo que aprendes en la facultad tiene que ser algo vocacional. Infraestructura, redes… un páramo.

Mujeres hay muchas desde hace décadas, habría que estudiar por qué no les interesa. O no. Nadie se plantea por qué en Enfermería son casi todas mujeres y ya no digamos como profesoras de infantil y primaria.
 
Arriba Pie