{"id":9247,"date":"2022-05-31T16:22:02","date_gmt":"2022-05-31T22:22:02","guid":{"rendered":"https:\/\/ugit.siua.ac.cr\/?p=9247"},"modified":"2022-06-01T14:52:24","modified_gmt":"2022-06-01T20:52:24","slug":"azure-dp-900-practica2","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=9247","title":{"rendered":"Azure DP-900: Pr\u00e1ctica2"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>Descargamos los archivos: <a href=\"\/wp-content\/uploads\/2022\/05\/Azure-DP-900-Practica2.zip\" data-type=\"URL\" data-id=\"\/wp-content\/uploads\/2022\/05\/Azure-DP-900-Practica2.zip\">aqu\u00ed<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creaci\u00f3n de Base de datos<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Crear recurso<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"161\" height=\"161\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1422-1.png\" alt=\"\" class=\"wp-image-9253\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1422-1.png 161w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1422-1-150x150.png 150w\" sizes=\"(max-width: 161px) 100vw, 161px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Seleccionamos bases de datos->SQL Database<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"733\" height=\"653\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1423.png\" alt=\"\" class=\"wp-image-9254\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1423.png 733w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1423-300x267.png 300w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Asignar los siguientes par\u00e1metros a cada campo.<ul><li>Suscripci\u00f3n: Azure para estudiantes<\/li><li>Grupo de recursos: PruebaBD (Opcional)<\/li><li>Nombre de la base de datos: DP900 (Opcional)<\/li><li>En servidor, seleccionar [Crear nuevo].<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"818\" height=\"608\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1424.png\" alt=\"\" class=\"wp-image-9256\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1424.png 818w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1424-300x223.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1424-768x571.png 768w\" sizes=\"(max-width: 818px) 100vw, 818px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Para el nuevo servidor, colocar los siguientes valores.<ul><li>Nombre del servidor: serverdp900 (Opcional, debe ser irrepetible) gmatamor<\/li><li>Inicio de sesi\u00f3n del administrador del servidor: dp900 (Opcional) gmatamor<\/li><li>Contrase\u00f1a: pswd123- (Opcional) A1<\/li><li>Confirmar contrase\u00f1a: pswd123- (Opcional) A1<\/li><li>Ubicaci\u00f3n: (US) Centro-Sur de EE.UU. (Opcional, elige la m\u00e1s cercana que se encuentre<\/li><li>disponible)<\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"836\" height=\"706\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1425.png\" alt=\"\" class=\"wp-image-9257\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1425.png 836w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1425-300x253.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1425-768x649.png 768w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"836\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1426.png\" alt=\"\" class=\"wp-image-9258\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1426.png 910w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1426-300x276.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1426-768x706.png 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<p>Para reducir el costo del servicio, es necesario seleccionar otro nivel de servicio, para ello dar<br>clic en [Configurar base de datos].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"804\" height=\"580\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1427.png\" alt=\"\" class=\"wp-image-9259\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1427.png 804w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1427-300x216.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1427-768x554.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/figure>\n\n\n\n<p>En la siguiente ventana es posible verificar el costo mensual del servicio y para reducirlo<br>damos clic en [B\u00e1sico (Para cargas de trabajo menos exigentes)].<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1428-1024x561.png\" alt=\"\" class=\"wp-image-9261\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1428-1024x561.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1428-300x164.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1428-768x420.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1428.png 1244w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Posteriormente verificar que el costo es aproximadamente 100 MXN y dar clic en<br>[Aplicar].<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"699\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1429-1024x699.png\" alt=\"\" class=\"wp-image-9262\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1429-1024x699.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1429-300x205.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1429-768x524.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1429.png 1229w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Seleccionar \u201cAlmacenamiento de copias de seguridad con redundancia local (versi\u00f3n<br>preliminar)\u201d<\/p>\n\n\n\n<p>Una vez que se han establecido todos los par\u00e1metros, dar clic en [Revisar y crear].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"808\" height=\"811\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1430.png\" alt=\"\" class=\"wp-image-9263\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1430.png 808w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1430-300x300.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1430-150x150.png 150w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1430-768x771.png 768w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><\/figure>\n\n\n\n<p>A continuaci\u00f3n, se muestra el resumen del servicio a implementar, dar clic en [Crear]<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"834\" height=\"845\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1431.png\" alt=\"\" class=\"wp-image-9265\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1431.png 834w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1431-296x300.png 296w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1431-768x778.png 768w\" sizes=\"(max-width: 834px) 100vw, 834px\" \/><\/figure>\n\n\n\n<p>Una vez que el servicio se ha implementado, es posible acceder al servicio, mediante [Ir<br>al recurso].<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"401\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1432-1024x401.png\" alt=\"\" class=\"wp-image-9266\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1432-1024x401.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1432-300x118.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1432-768x301.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1432.png 1294w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Informaci\u00f3n general de la base de datos:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"454\" src=\"\/wp-content\/uploads\/2022\/05\/Seleccion_1433-1024x454.png\" alt=\"\" class=\"wp-image-9268\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1433-1024x454.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1433-300x133.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1433-768x341.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1433-1536x681.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/05\/Seleccion_1433.png 1845w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraciones relevantes para el costo del servicio<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Nivel<\/h3>\n\n\n\n<p>Es un aspecto determinante seleccionar correctamente el nivel que se requiere, contemplando la<br>capacidad de memoria, ya que puede existir una gran diferencia respecto al costo, por ejemplo, el<br>nivel \u201cB\u00e1sico\u201d y \u201cEst\u00e1ndar\u201d son considerablemente m\u00e1s econ\u00f3micos que un nivel \u201cPremium\u201d, de<br>\u201cUso general\u201d o \u201cHiperescala\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ubicaci\u00f3n<\/h3>\n\n\n\n<p>La ubicaci\u00f3n para aprovisionar el servicio debe ser la m\u00e1s cercana a la localizaci\u00f3n de la<br>organizaci\u00f3n, ya que puede influir tanto en el rendimiento como en el costo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Servicios adicionales<\/h3>\n\n\n\n<p>Activar opciones adicionales, puede generar un costo mayor; antes de habilitar alguna opci\u00f3n extra<br>es importante saber si tiene un costo adicional o si despu\u00e9s de cierto limite puede comenzar a<br>cobrarse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Herramientas para realizar consultas<\/h2>\n\n\n\n<p>Existen diversas herramientas para realizar consultas de datos en Azure SQL Database, por<br>ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>El editor de consultas en Azure Portal<\/li><li>SQLCMD desde la l\u00ednea de comandos o Azure Cloud Shell<\/li><li>SQL Server Management Studio<\/li><li>Azure Data Studio<\/li><\/ul>\n\n\n\n<p>Algunos datos que te pueden ayudar a elegir que herramienta utilizar son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Se puede utilizar Azure Data Studio para consultar un cl\u00faster de macrodatos de Microsoft SQL Server.<\/li><li>Microsft SQL Server Management Studio (SSMS) permite consultar un almac\u00e9n de datos de Azure Synapse Analytics.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft SQL Server Management Studio (SSMS)<\/h3>\n\n\n\n<p>Una herramienta gr\u00e1fica para la gesti\u00f3n de bases de datos de SQL Server o SQL Azure que las<br>tareas de acceso de soportes, configuraci\u00f3n, gesti\u00f3n y administraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft Visual Studio Code<\/h3>\n\n\n\n<p>Un editor de c\u00f3digo fuente ligero con una extensi\u00f3n mssql que admite conexiones al servidor SQL<br>y una rica experiencia de edici\u00f3n para T-SQL.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Azure Data Studio<\/h3>\n\n\n\n<p>Un editor ligero que puede ejecutar consultas SQL bajo demanda y ver y guardar resultados como<br>archivos de texto, JSON o Microsoft Excel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft SQL Server Data Tools (SSDT)<\/h3>\n\n\n\n<p>Una herramienta de desarrollo para crear bases de datos de Azure SQL, bases de datos relacionales<br>de servidor Microsoft SQL, modelos de datos de servicios de an\u00e1lisis de servidor SQK (SSAS),<br>paquetes de servicios de integraci\u00f3n de servidor SQL (SSIS) e informes de servicios de informes<br>de servidor SQL (SSRS).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n de Azure Data Studio<\/h2>\n\n\n\n<p>Es necesario descargar el ejecutable que nos permitir\u00e1 realizar la instalaci\u00f3n, por medio de la<br>siguiente URL: <a href=\"https:\/\/docs.microsoft.com\/es-es\/sql\/azure-data-studio\/download-azure- data-studio\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/es-es\/sql\/azure-data-studio\/download-azure-<br>data-studio<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e1ctica 2: Conexiones<\/h2>\n\n\n\n<p>Para poder continuar con la pr\u00e1ctica es necesario investigar los siguientes conceptos y contestar el<br>cuestionario en Microsoft Forms: <a href=\"https:\/\/forms.office.com\/pages\/responsepage.aspx?id=i1FtJURdHkGAb3fhO6ytp9a2iPgTbbVGtuqYRJUWA6BUQVBSRlpYUk9BNk5TNTI2MUlDNUU4NVhCTy4u\" target=\"_blank\" rel=\"noreferrer noopener\">Pr\u00e1ctica 2: Conexiones<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conexi\u00f3n de Azure Data Studio<\/h2>\n\n\n\n<p>Para realizar la conexi\u00f3n es necesario configurar el firewall, ingresando al apartado de<br>\u201cConfiguraci\u00f3n de firewall\u201d, mediante [Agregar IP a la lista de elementos permitidos].<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"378\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1434-1024x378.png\" alt=\"\" class=\"wp-image-9275\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1434-1024x378.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1434-300x111.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1434-768x284.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1434.png 1227w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"456\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1435-1024x456.png\" alt=\"\" class=\"wp-image-9276\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1435-1024x456.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1435-300x134.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1435-768x342.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1435-1536x684.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1435.png 1737w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"778\" height=\"421\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1436.png\" alt=\"\" class=\"wp-image-9277\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1436.png 778w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1436-300x162.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1436-768x416.png 768w\" sizes=\"(max-width: 778px) 100vw, 778px\" \/><\/figure>\n\n\n\n<p>Dentro de Azure Data Studio, dar clic en [New Connection]:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"264\" height=\"148\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1437.png\" alt=\"\" class=\"wp-image-9279\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"539\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1438-1024x539.png\" alt=\"\" class=\"wp-image-9280\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1438-1024x539.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1438-300x158.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1438-768x404.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1438-1536x809.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1438.png 1540w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Dentro del apartado de conexi\u00f3n, ingresar los siguientes datos, deben corresponder a los<br>datos que utilizaste para crear la base de datos en el Portal de Azure:<br>\u2022 Server: gmatamor.database.windows.net<br>\u2022 Authentication type: SQL Login<br>\u2022 User name: gmatamor<br>\u2022 Password: A1<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"862\" height=\"456\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1439.png\" alt=\"\" class=\"wp-image-9281\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1439.png 862w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1439-300x159.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1439-768x406.png 768w\" sizes=\"(max-width: 862px) 100vw, 862px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Instrucciones DDL y DML<\/h2>\n\n\n\n<p>Nuestras instrucciones deben partir del modelo l\u00f3gico, creado en la pr\u00e1ctica anterior, es importante<br>tomar en cuenta las relaciones que existen entre las entidades para poder determinar las<br>caracter\u00edsticas de cada atributo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"791\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1440.png\" alt=\"\" class=\"wp-image-9284\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1440.png 1019w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1440-300x233.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1440-768x596.png 768w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<p>Para comenzar el tema de instrucciones DDL y DML es necesario investigar los conceptos presentados<br>y contestar el cuestionario:<a href=\"https:\/\/forms.office.com\/pages\/responsepage.aspx?id=i1FtJURdHkGAb3fhO6ytp9a2iPgTbbVGtuqYRJUWA6BUOTlMMU5RN1hRWkxaSUVMRFBGNFE1OVI0TC4u\" target=\"_blank\" rel=\"noreferrer noopener\"> Practica 2: DDL y DML<\/a><\/p>\n\n\n\n<p>Inicialmente realizaremos la creaci\u00f3n de las tablas que no contienen llaves for\u00e1neas, por ejemplo, los<br>cat\u00e1logos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE AUTOR (\n    claveAutor VARCHAR(5) PRIMARY KEY,\n    nombre VARCHAR(40) NOT NULL,\n    apPaterno VARCHAR(40) NOT NULL,\n    apMaterno VARCHAR(40) NULL\n);\n\nCREATE TABLE CATEGORIA (\n     claveCategoria VARCHAR(5) PRIMARY KEY,\n     descripcion VARCHAR(40) NOT NULL\n);\n\nCREATE TABLE LIBRO (\n     claveLibro VARCHAR(5) PRIMARY KEY,\n     titulo VARCHAR(150) NOT NULL,\n     claveAutor VARCHAR(5) NOT NULL,\n     CONSTRAINT claveAutor_fk FOREIGN KEY (claveAutor)\n     REFERENCES AUTOR (claveAutor)\n     ON DELETE CASCADE\n     ON UPDATE CASCADE,\n     claveCategoria VARCHAR(5) NOT NULL,\n     CONSTRAINT claveCategoria_fk FOREIGN KEY (claveCategoria)\n     REFERENCES CATEGORIA (claveCategoria)\n     ON DELETE CASCADE\n     ON UPDATE CASCADE\n);<\/code><\/pre>\n\n\n\n<p>Para insertar datos en la tabla se ejecutan las siguientes instrucciones:<br>Un dato importante para considerar es el hecho de que la tabla \u201cAutor\u201d tiene un campo null, y la<br>instrucci\u00f3n INSERT cambia por este hecho, adem\u00e1s las fechas se insertan con el formato \u201cMM-DD-<br>AAAA\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO AUTOR (claveAutor, nombre, apPaterno, apMaterno)\nVALUES ('A0001','Adrian','Curiel','Rivera'),\n('A0012','Carlos','Ruiz','Zafon'),\n('A0017','Federico','Garcia','Lorca');\n\nINSERT INTO AUTOR (claveAutor, nombre, apPaterno)\nVALUES ('A0002','Aka','Akasaka'),\n('A0003','Albert','Camus');\n\nINSERT INTO CATEGORIA (claveCategoria, descripcion)\nVALUES ('C0001','Comic'),\n('C0002','Cuento'),\n('C0003','Cultura'),\n('C0004','Educacion'),\n('C0005','Enciclopedia'),\n('C0006','Ensayo'),\n('C0007','Filosofia');\n\nINSERT INTO LIBRO (claveLibro, titulo, claveAutor, claveCategoria)\nVALUES ('LB001','1984','A0023','C0015'),\n('LB002','A prueba de fuego','A0032','C0015'),\n('LB003','Almendra','A0079','C0016'),\n('LB004','Amores veganos','A0001','C0017'),\n('LB005','Anatomia con orientacion clinica' ,'A0040','C0005'),\n('LB006','Anatomia del mexicano','A0063','C0006');<\/code><\/pre>\n\n\n\n<p>En caso de cometer un error existen instrucciones DDL que nos permiten corregirlo.<\/p>\n\n\n\n<p>ALTER: modifica la estructura de un objeto. Por ejemplo, en una tabla agregar, renombrar o<br>eliminar una columna.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER TABLE &lt;Nombre_de_tabla> &#91;ADD\/REMOVE\/RENAME] COLUMN &lt;Nombre_columna>;<\/code><\/pre>\n\n\n\n<p>RENAME: permite cambiar el nombre de un objeto existente.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALTER TABLE &lt;Nombre_actual_de_tabla> RENAME &lt;Nuevo_nombre_de_tabla>;<\/code><\/pre>\n\n\n\n<p>DROP: elimina un objeto de la base de datos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DROP TABLE &lt;Nombre_de_tabla>;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Implementaci\u00f3n en SQL<\/h2>\n\n\n\n<p>Al ingresar a la plataforma y establecer la conexi\u00f3n, es posible comenzar la ejecuci\u00f3n de las<br>consultas dando clic en [New Query].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"772\" height=\"504\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1441.png\" alt=\"\" class=\"wp-image-9291\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1441.png 772w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1441-300x196.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1441-768x501.png 768w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/figure>\n\n\n\n<p>Es importante seleccionar \u201cDP900\u201d como la base de datos en la que se ejecutaran las instrucciones,<br>ya que con las credenciales no tenemos permisos para modificar la base de datos \u201cmaster\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"271\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1442.png\" alt=\"\" class=\"wp-image-9293\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1442.png 730w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1442-300x111.png 300w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><\/figure>\n\n\n\n<p>Se pueden ejecutar las instrucciones una a una\u2026<\/p>\n\n\n\n<p>O ejecutarlas todas en un script, para esta opci\u00f3n hay que asegurar que las instrucciones son<br>tienen la estructura y sintaxis correcta:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1003\" height=\"789\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1443.png\" alt=\"\" class=\"wp-image-9295\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1443.png 1003w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1443-300x236.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1443-768x604.png 768w\" sizes=\"(max-width: 1003px) 100vw, 1003px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Consultas<\/h2>\n\n\n\n<p>Para concluir la pr\u00e1ctica y comprobar los conocimientos adquiridos, es necesario contestar el<br>cuestionario <a href=\"https:\/\/forms.office.com\/pages\/responsepage.aspx?id=i1FtJURdHkGAb3fhO6ytp9a2iPgTbbVGtuqYRJUWA6BURFhHUElSSVo5SThLUFhXRFBHNVVMSlFEMy4u\" target=\"_blank\" rel=\"noreferrer noopener\">Pr\u00e1ctica 2: Consultas<\/a>:<\/p>\n\n\n\n<p>Antes de realizar las consultas es recomendable ejecutar los siguientes scripts, que cuentan con la<br>informaci\u00f3n homologada, corregida y optimizada de acuerdo con el dise\u00f1o l\u00f3gico tomado como<br>referencia inicialmente, es importante que los scripts se ejecuten en el orden indicado:<\/p>\n\n\n\n<p>deleteBiblioteca: Para eliminar registros anteriores, en caso de haber utilizado otro formato<br>para los nombres de las tablas, deber\u00e1s eliminar tus datos con la instrucci\u00f3n DROP y el<br>nombre de tus tablas. <a href=\"\/wp-content\/uploads\/2022\/05\/Azure-DP-900-Practica2.zip\" target=\"_blank\" rel=\"noreferrer noopener\">[Da clic para descargar]<\/a><\/p>\n\n\n\n<p>createBiblioteca: Crea las tablas de la base de datos. [Da clic para descargar]<\/p>\n\n\n\n<p>insertBiblioteca: Inserta todos los datos de la biblioteca la tabla correspondiente. [Da clic<br>para descargar]<\/p>\n\n\n\n<p>Considera que al final del formulario se incluye una \u00faltima pregunta la cual consiste en que subas un<br>archivo en PDF con tus la sintaxis de tus consultas y la captura de los resultados.<\/p>\n\n\n\n<p>\u00bfCu\u00e1ntos libros (s\u00f3lo t\u00edtulos distintos) hay en la biblioteca del autor \u201cMario Benedetti\u201d?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n    COUNT(l.claveLibro) \nFROM LIBRO AS l \nINNER JOIN AUTOR AS a ON (a.claveAutor = l.claveAutor)\nWHERE (a.nombre LIKE '%Mario%') AND (apPaterno LIKE '%Benedetti%');\n<\/code><\/pre>\n\n\n\n<p>\u00bfCu\u00e1ntos prestamos se realizaron en el a\u00f1o 2020?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT COUNT(clavePrestamo) FROM PRESTAMO AS p WHERE DATEPART(yy,fechaPrestamo) = '2020';<\/code><\/pre>\n\n\n\n<p>\u00bfCu\u00e1ntos ejemplares se encuentran en estado de \u201cReparaci\u00f3n\u201d?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n    COUNT(ej.claveEjemplar) \nFROM EJEMPLAR AS ej\nINNER JOIN ESTADO AS es ON (es.claveEstado = ej.claveEstado)\nWHERE (es.descripcion LIKE '%Reparacion%');<\/code><\/pre>\n\n\n\n<p>A la biblioteca ha llegado el siguiente libro por lo que se requiere agregarlo a la base de datos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>T\u00edtulo: La chica del tren<\/li><li>Autor: Paula Hawkings<\/li><li>Categoria: Novela<\/li><li>Editorial: Planeta<\/li><li>Edici\u00f3n: Primera<\/li><li>N\u00famero de p\u00e1ginas: 496<\/li><li>Condici\u00f3n: Bueno<\/li><li>Estado: Disponible<\/li><\/ul>\n\n\n\n<p>Por \u00faltimo se requiere mostrar los datos que se han insertado.<br><br>Indica, \u00bfcu\u00e1ntas tablas fue necesario modificar para insertar este dato?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--*******************************************************\n--************* CONSULTAR CATEGORIA    ******************\n--*******************************************************\nSELECT * FROM CATEGORIA WHERE descripcion LIKE '%Novela%';\n--RESULTADO: C0015\n\n--*******************************************************\n--************* CONSULTAR EDITORIAL    ******************\n--*******************************************************\nSELECT * FROM EDITORIAL WHERE nombre LIKE '%Planeta%';\n--RESULTADO: E0037\n\n--*******************************************************\n--************* CONSULTAR CONDICI\u00d3N    ******************\n--*******************************************************\nSELECT * FROM CONDICION WHERE descripcion LIKE '%Bueno%';\n--RESULTADO: B\n\n--*******************************************************\n--************* CONSULTAR ESTADO       ******************\n--*******************************************************\nSELECT * FROM ESTADO WHERE descripcion LIKE '%Disponible%';\n--RESULTADO: ES003\n\n--*******************************************************\n--************* CONSULTAR AUTOR        ******************\n--*******************************************************\nSELECT * FROM AUTOR WHERE (nombre LIKE '%Paula%') AND apPaterno LIKE '%Hawkings%';\n--RESULTADO: NULL\n\n--*******************************************************\n--************* INSERTAR AUTOR    ***********************\n--*******************************************************\nINSERT INTO AUTOR (claveAutor, nombre, apPaterno)\nVALUES \t('A0081','Paula','Hawkings');\n\n--*******************************************************\n--************* CONSULTAR AUTOR        ******************\n--*******************************************************\nSELECT * FROM AUTOR WHERE (nombre LIKE '%Paula%') AND apPaterno LIKE '%Hawkings%';\n--RESULTADO: A0081\n\n--*******************************************************\n--************* CONSULTAR LIBRO        ******************\n--*******************************************************\nSELECT * FROM LIBRO WHERE titulo LIKE '%La chica del tren%';\n--RESULTADO: NULL\n\n--*******************************************************\n--************* INSERTAR LIBRO    ***********************\n--*******************************************************\nINSERT INTO LIBRO(claveLibro, titulo, claveAutor, claveCategoria)\nVALUES ('LB101','La chica del tren','A0081','C0015');\n\n--*******************************************************\n--************* CONSULTAR LIBRO        ******************\n--*******************************************************\nSELECT * FROM LIBRO WHERE titulo LIKE '%La chica del tren%';\n--RESULTADO: LB101\n\n--*******************************************************\n--************* INSERTAR EJEMPLAR ***********************\n--*******************************************************\nINSERT INTO EJEMPLAR (claveEjemplar, claveLibro, claveCondicion, claveEstado, edicion, claveEditorial, numeroPaginas)\nVALUES ('LB101-001','LB101','B','ES003','Primera','E0037','496')\n\n\n--*******************************************************\n--************* DATOS DEL LIBRO   ***********************\n--*******************************************************\nSELECT \n    li.claveLibro AS 'Clave Libro',\n    li.titulo AS 'T\u00edtulo',\n\n    ej.edicion AS 'Edici\u00f3n',\n    ej.numeroPaginas AS 'N\u00famero de P\u00e1ginas',\n\n    au.nombre AS 'Nombre Autor',\n    au.apPaterno AS 'Apellido Autor',\n\n    ca.descripcion AS 'Categor\u00eda',\n\n    es.descripcion AS 'Estado',\n\n    co.descripcion AS 'Condici\u00f3n',\n\n    ed.nombre AS 'Editorial'\n\nFROM LIBRO AS li \nINNER JOIN EJEMPLAR AS ej ON (ej.claveLibro = li.claveLibro)\nINNER JOIN AUTOR AS au ON (au.claveAutor = li.claveAutor)\nINNER JOIN CATEGORIA AS ca ON (ca.claveCategoria = li.claveCategoria)\nINNER JOIN ESTADO AS es ON (es.claveEstado = ej.claveEstado)\nINNER JOIN CONDICION AS co ON (co.claveCondicion = ej.claveCondicion)\nINNER JOIN EDITORIAL AS ed ON (ed.claveEditorial = ej.claveEditorial)\nWHERE li.titulo LIKE '%La chica del tren%'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"745\" src=\"\/wp-content\/uploads\/2022\/06\/Seleccion_1448-1024x745.png\" alt=\"\" class=\"wp-image-9303\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1448-1024x745.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1448-300x218.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1448-768x559.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/06\/Seleccion_1448.png 1042w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Se ha solicitado listar los nombres de los libros de forma alfab\u00e9tica. \u00bfQu\u00e9 instrucciones se<br>pueden utilizar para esta consulta?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM LIBRO ORDER BY titulo ASC;<\/code><\/pre>\n\n\n\n<p>Indica el n\u00famero de ejemplares de cada t\u00edtulo, de acuerdo a la consulta anterior \u00bfcu\u00e1ntos ejemplares hay para el libro con clave LB040 y LB052?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT COUNT(claveEjemplar) FROM EJEMPLAR WHERE claveLibro = 'LB040';\nSELECT COUNT(claveEjemplar) FROM EJEMPLAR WHERE claveLibro = 'LB052';<\/code><\/pre>\n\n\n\n<p>Se requiere una lista de los usuarios que hayan solicitado un prestamos en los \u00faltimos\u00a06 meses (fecha actual: octubre 2021), \u00bfcu\u00e1l es el CURP del usuario que solicito un pr\u00e9stamo?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT u.CURP\nFROM USUARIO AS u \nINNER JOIN PRESTAMO AS p ON (p.claveUsuario = u.claveUsuario)\nWHERE p.fechaPrestamo BETWEEN CONVERT(date, '2021-05-01') AND CONVERT(date, '2021-10-31')<\/code><\/pre>\n\n\n\n<p><br>La biblioteca ha decidido renovar los libros que se encuentran en un estado \u201cMalo\u201d, por lo que se requiere, generar una lista de los libros con esta caracter\u00edstica, \u00bfcu\u00e1ntos ejemplares hay con esta condici\u00f3n?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT COUNT(claveEjemplar) FROM EJEMPLAR WHERE claveCondicion LIKE 'M'<\/code><\/pre>\n\n\n\n<p>Calcula el promedio de n\u00famero de p\u00e1ginas por t\u00edtulo de los ejemplares con los que cuenta la biblioteca, \u00bfcu\u00e1l es el promedio de p\u00e1ginas de los libros con clave LB005?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT AVG(numeroPaginas) FROM EJEMPLAR WHERE claveLibro = 'LB005'<\/code><\/pre>\n\n\n\n<p>\u00bfCu\u00e1l es la categor\u00eda de la que se cuenta con m\u00e1s libros?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n    COUNT(l.claveCategoria) AS 'CantidadEjemplares',\n    c.descripcion \nFROM LIBRO AS l\nINNER JOIN CATEGORIA AS c ON (c.claveCategoria = l.claveCategoria)\nGROUP BY l.claveCategoria,c.descripcion \nORDER BY 'CantidadEjemplares' DESC<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Descargamos los archivos: aqu\u00ed Creaci\u00f3n de Base de datos Crear recurso Seleccionamos bases de datos->SQL Database Asignar los siguientes par\u00e1metros a cada campo. Suscripci\u00f3n: Azure para estudiantes Grupo de recursos: PruebaBD (Opcional) Nombre de la base de datos: DP900 (Opcional) En servidor, seleccionar [Crear nuevo]. Para el nuevo servidor, colocar los siguientes valores. Nombre del [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[390],"tags":[398,391],"class_list":["post-9247","post","type-post","status-publish","format-standard","hentry","category-cursos","tag-dp-900","tag-microsoft-azure"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/9247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9247"}],"version-history":[{"count":38,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/9247\/revisions"}],"predecessor-version":[{"id":9312,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/9247\/revisions\/9312"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}