Bases de Datos Tema 6: Introducción a MongoDB y SQL en U-tad

Diapositivas de U-tad sobre Bases de Datos Tema 6. El Pdf, un material de estudio para la asignatura de Informática a nivel universitario, aborda la introducción a las bases de datos, el modelo relacional, SQL y MongoDB, incluyendo operaciones con documentos e índices.

Ver más

30 páginas

1
Bases de Datos
Tema 6
Grado en Ingeniería del Software
Doble Grado en Matemática Computacional e Ingeniería del Software
Doble Grado en Física Computacional e Ingeniería de Software
Rafael Socas Gutiérrez
Amador Maho Etohá
Enero 2024
2
Desarrollo de la asignatura
1) Introducción a las Bases de Datos
2) Modelo Relacional y Algebra Relacional
3) El Lenguaje SQL y SQL Avanzado
4) Acceso a MySQL, Almacenamiento e Indexado
5) Administración de Bases de Datos en MySQL
6) Aspectos Avanzados sobre BBDD Relacionales e
Introducción a las BBDD No Relacionales: MongoDB

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Grado en Ingeniería del Software

Doble Grado en Matemática Computacional e Ingeniería del Software Doble Grado en Física Computacional e Ingeniería de Software U-Tad Bases de Datos Tema 6 Rafael Socas Gutiérrez Amador Maho Etohá Enero 2024

:00000 05 ABCDE OK OK OK OK -- OK 2 3 4 5 9 8 8 04 0 03 02- 181 8 18:1 08 07 - 05 1811 8 8 01U-Tad

  1. Introducción a las Bases de Datos
  2. Modelo Relacional y Algebra Relacional
  3. El Lenguaje SQL y SQL Avanzado
  4. Acceso a MySQL, Almacenamiento e Indexado
  5. Administración de Bases de Datos en MySQL
  6. Aspectos Avanzados sobre BBDD Relacionales e Introducción a las BBDD No Relacionales: MongoDB

2 R10 m loan taxed on The tax returns INa what portion of its inc or (8) af any ( Hunter Eye Gear wibuti ns received by th income not d por (7) ved by the trust w rece if it had ney paid ou beneficiaries a been received by the trust, but rathe. d to as the 'conaunt pipe' principle. Under this principle the purposes, a. trust rece ved interest income, the beneficiary receives the distribution as 'i TAX PROVISIONS x purpose is formed by a living person, which means that such founder could be liable for tax on the trust. Once the founder has died it is obviously no longer possible to tas the foundlie st and beneficiaries will be the only taxpayers subject to tas Play wies trust is tilted subject to the provisions of section 258 and section 7 of the lacome The Ads In such a case wstamentary trust prines referessere a will trust such a trust is created in terms of the w dt of & dusouned preems anderson is not anve at any time during the trust's existsoce the ascome falle to be turadi in the Bandin of tvr the trust or the beneficiaries. Sofiaties are taxes on the income it distributes. SECTION 258 - INCOME OF TRUSTS . . Desarrollo de la asignatura - . ---- ------ --- . D B B - Beneficiary. T = Trust. - Donor "A discretionary trust is one in which the some portion of the income of the income of the trust vests in the be the trust to the beneficiaries. not to a trust is s hether it i. s beneficiaries (i.e. it is their is said to have a vested rip ome. rusts are set out in a wa easy for the to cale- ust be taxed in which The tax returns issued for trus cits income He incor Ach makes it son's hands. trust is usuany In the case Trustee wwvalo: the beneficiaries are unless section 7(3), (4), (2 Faitces (unless sections 7(5) Egy the court held that where fax year, it was treated wwefit of his three children, Ned, Fred and Nelly ematically as follows: et a block of flats (market value R10m) to the trus the au te the hands of the person who put the ted ats of large amounts of ugh the use of a trust for ance provisions which are No ---- Yes No Yes In such a case the beneficiary is ich the trustees have the poy MR GREEN - FOUNDER X.J INCO want to distinguish between two different types of trust. enses). The R1,5m m ree possible categories This is a trus scotte recei Trust Fund Y ---- - ge of large an - ----U-Tad

Aspectos Avanzados sobre BBDD Relacionales

Introducción a Bases de Datos No Relacionales: MongoDB

6 Índice U-Tad

  1. Lenguajes Procedurales para BBDD
  2. Procedimientos Almacenados
  3. SQL Injection
  4. Conceptos Generales BBDD No Relacionales
  5. Clasificación Bases de Datos NoSQL
  6. MongoDB: Características Principales
  7. Instalación MongoDB
  8. Elementos de MongoDB
  9. Operaciones con Documentos
  10. Índices sobre MongoDB

Lenguajes Procedurales para BBDD

41. Lenguajes Procedurales para BBDD U-Tad Diferencia entre lenguaje Procedural y No Procedural Lenguaje Procedural El código del programa se escribe como una secuencia de instrucciones. El usuario tiene que especificar "qué hacer" y también "cómo hacerlo" (procedimiento paso a paso). Estas instrucciones se ejecutan en orden secuencial. Lenguaje No Procedural El usuario sólo tiene que especificar "qué hacer" y no "cómo hacerlo". Tambien se conoce como lenguaje aplicativo o funcional. Implica el desarrollo de las funciones a partir de otras funciones para construir funciones mas complejas. C and C++, Java, Pascal, BASIC LISP, SQL, PROLOG

Comparativa de Lenguajes Procedurales y No Procedurales

Factor Lenguaje Procedural Lenguaje No Procedural Program code El código del programa se escribe en forma de una secuencia de instrucciones. Se trata de desarrollar funciones basadas en otras funciones, para construir otras funcionalidades complicadas. Semántica y Complejidad Su semántica es compleja. Su semántica es sencilla en comparación con los lenguajes procedurales. Tamaño del programa El tamaño del programa suele ser grande. Los programas son de pequeño tamaño. Eficiencia La eficiencia global es alta. La eficiencia global del lenguaje no procedural es baja en comparación con el procedural. Tiempo Real No es adecuado para aplicaciones en las que el tiempo es un factor crítico. Es ideal para aplicaciones en las que el tiempo es un factor crítico. 52.

Procedimientos Almacenados

U-Tad Procedimientos, Funciones y Triggers en MySQL Los procedimientos, funciones y triggers de MySQL, que son objetos que contienen código SQL y se almacenan asociados a una base de datos. · Procedimiento almacenado: se crea con la sentencia CREATE PROCEDURE y se invoca con la sentencia CALL. Un procedimiento puede tener cero o muchos parámetros de entrada y cero o muchos parámetros de salida. · Función almacenada: se crea con la sentencia CREATE FUNCTION y se invoca con la sentencia SELECT o dentro de una expresión. Una función puede tener cero o muchos parámetros de entrada y siempre devuelve un valor, asociado al nombre de la función. • Trigger: se usa la sentencia CREATE TRIGGER y tiene que estar asociado a una tabla. Un trigger se activa cuando ocurre un evento de inserción, actualización o borrado, sobre la tabla a la que está asociado. o 0 0 ? ? ? SQL STRUCTURED QUERY LANGUAGE O <> 11 Fuente: https://josejuansanchez.org/bd/unidad-12-teoria/index.html#triggers-procedimientos-y-funciones-en-mysql 62.

Procedimientos vs. Funciones

Procedimientos Almacenados U-Tad · La primera y más obvia diferencia, es que las funciones siempre devuelven un valor, mientras que un procedimiento almacenado puede que retorne un valor o puede que no lo haga. Es decir que puede comportarse como un método o como una función, haciendo una analogía con el desarrollo de software. · Otra diferencia muy importante para los desarrolladores es que los procedimientos almacenados pueden ser invocados desde el entorno de desarrollo, es decir desde .NET, pero las funciones no. Así que, al momento de desarrollar, siempre nos comunicaremos con procedimientos almacenados. · Las funciones de hecho no pueden ser invocadas por sí solas, mientras que los procedimientos almacenados sí. SQL Fuente: https://robertomiguelz.blogspot.com/2019/01/diferencia-entre-procedimiento.html 72.

Ejemplo de Procedimiento (1/2)

Procedimientos Almacenados U-Tad Enunciado Escriba un procedimiento llamado listar_productos que reciba como entrada el nombre de la gama y muestre un listado de todos los productos que existen dentro de esa gama. Este procedimiento no devuelve ningún parámetro de salida, lo que hace es mostrar el listado de los productos. Definición DELIMITER $$ DROP PROCEDURE IF EXISTS listar_productos$$ CREATE PROCEDURE listar_productos (IN gama VARCHAR(50)) BEGIN SELECT * FROM producto WHERE producto.gama = gama; END $$ Invocación DELIMITER ; CALL listar_productos( 'Herramientas'); SELECT * FROM producto; Ver los Procedimientos SHOW CREATE PROCEDURE listar_productos; SHOW PROCEDURE STATUS WHERE Db='database'; Fuente: https://josejuansanchez.org/bd/unidad-12-teoria/index.html#triggers-procedimientos-y-funciones-en-mysql 82.

Ejemplo de Procedimiento (2/2)

Procedimientos Almacenados U-Tad Enunciado Escriba un procedimiento llamado contar_productos que reciba como entrada el nombre de la gama y devuelva el número de productos que existen dentro de esa gama. Solución 1 DELIMITER $$ DROP PROCEDURE IF EXISTS contar_productos$$ CREATE PROCEDURE contar_productos(IN gama VARCHAR(50), OUT total INT UNSIGNED) BEGIN SET total = ( SELECT COUNT (*) FROM producto WHERE producto.gama = gama); END $$ DELIMITER ; CALL contar_productos( 'Herramientas', @total); SELECT @total; Solución 2 DELIMITER $$ DROP PROCEDURE IF EXISTS contar_productos$$ CREATE PROCEDURE contar_productos (IN gama VARCHAR(50), OUT total INT UNSIGNED) BEGIN SELECT COUNT(*) INTO total FROM producto WHERE producto. gama = gama; END $$ DELIMITER ; CALL contar_productos('Herramientas', @total); SELECT @total; Fuente: https://josejuansanchez.org/bd/unidad-12-teoria/index.html#triggers-procedimientos-y-funciones-en-mysql 92.

Ejemplo de Función

Procedimientos Almacenados U-Tad Enunciado Escriba una función llamada contar_productos que reciba como entrada el nombre de la gama y devuelva el número de productos que existen dentro de esa gama. Ver las Funciones SHOW CREATE FUNCTION contar_productos; SHOW FUNCTION STATUS WHERE Db='database'; Solución DELIMITER $$ DROP FUNCTION IF EXISTS contar_productos$$ CREATE FUNCTION contar_productos (gama VARCHAR(50)) RETURNS INT UNSIGNED DETERMINISTIC BEGIN -- Paso 1. Declaramos una variable local DECLARE total INT UNSIGNED; -- Paso 2. Contamos los productos SET total = ( SELECT COUNT (*) FROM producto WHERE producto. gama = gama); -- Paso 3. Devolvemos el resultado RETURN total; END $$ DELIMITER ; SELECT contar_productos ('Herramientas' ); Fuente: https://josejuansanchez.org/bd/unidad-12-teoria/index.html#triggers-procedimientos-y-funciones-en-mysql 102.

Ejemplo de Trigger (1/2)

Procedimientos Almacenados U-Tad Crea una base de datos llamada test que contenga una tabla llamada alumnos con las siguientes columnas. Tabla alumnos: id (entero sin signo) nombre (cadena de caracteres) apellido1 (cadena de caracteres) apellido2 (cadena de caracteres) nota (número real) Una vez creada la tabla escriba dos triggers con las siguientes características: Enunciado Trigger 1: trigger_check_nota_before_insert Se ejecuta sobre la tabla alumnos. Se ejecuta antes de una operación de inserción. Si el nuevo valor de la nota que se quiere insertar es negativo, se guarda como 0. Si el nuevo valor de la nota que se quiere insertar es mayor que 10, se guarda como 10. Trigger2 : trigger_check_nota_before_update Se ejecuta sobre la tabla alumnos. Se ejecuta antes de una operación de actualización. Si el nuevo valor de la nota que se quiere actualizar es negativo, se guarda como 0. Si el nuevo valor de la nota que se quiere actualizar es mayor que 10, se guarda como 10. Una vez creados los triggers escriba varias sentencias de inserción y actualización sobre la tabla alumnos y verifica que los triggers se están ejecutando correctamente. Fuente: https://josejuansanchez.org/bd/unidad-12-teoria/index.html#triggers-procedimientos-y-funciones-en-mysql 11

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.