{"id":656,"date":"2015-11-24T22:45:35","date_gmt":"2015-11-25T03:45:35","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/taws\/?p=656"},"modified":"2015-11-24T23:42:36","modified_gmt":"2015-11-25T04:42:36","slug":"sequelize-orm-para-tecnologias-node-js-y-io-js","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/taws\/2015\/11\/24\/sequelize-orm-para-tecnologias-node-js-y-io-js\/","title":{"rendered":"Sequelize : ORM para tecnologias Node.js e IO.js"},"content":{"rendered":"<p><a href=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/logo-small.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-657 aligncenter\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/logo-small.png\" alt=\"logo-small\" width=\"250\" height=\"250\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/logo-small.png 250w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/logo-small-150x150.png 150w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p><em>Imagen 1.0 Tomada de www.docs.sequelize.com<\/em><\/p>\n<p>Este ORM soporta los dialectos para Mysql , Postgre SQL , MariaDB , SQlite , siendo muy f\u00e1cil y flexible en usar al momento de mapear tus tablas en Modelos de Objetos Relacionales, quiz\u00e1s eres nuevo en Desarrollo de Aplicaciones Web , \u00a0y te preguntar\u00e1s: \u00bfPara qu\u00e9 sirve un ORM?<\/p>\n<p>Un ORM es de mucha utilidad en cuanto a la facilidad de manejo de informaci\u00f3n que necesitas manipular del lado del servidor (\"Base de Datos\") al lado del cliente, de igual forma en el sentido contrario. Para las consultas, inserciones, eliminaciones, ediciones, \u00a0no tendr\u00e1s la tediosa tarea \u00a0de crear grandes query, con sentencias anidadas complicadas, con un ORM , existen funciones que te facilitan el trabajo , donde debes ingresar \u00a0par\u00e1metros que indiquen a una funci\u00f3n, el tipo de consulta a realizar, como otras operaciones.<\/p>\n<p style=\"text-align: left\"><strong>Instalaci\u00f3n\u00a0de Sequelize<\/strong><\/p>\n<p style=\"text-align: left\">La instalaci\u00f3n de Sequelize se realiza mediante el gestor de paquete de Node : NPM, a continuaci\u00f3n tambien se instala el plugin conector del gestor de Base de datos que usaras en tu proyecto de Desarrollo Web.<!--more--><\/p>\n<p style=\"text-align: left\"><strong>Instalacion de Sequelize<\/strong><\/p>\n<p style=\"text-align: left\"><em>$ npm install --save sequelize<\/em><\/p>\n<p style=\"text-align: left\"><em>$ nam install --save mysql<\/em><\/p>\n<p><strong>Coneccion con tu motor de Base de Dato<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-660\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.16.59-PM-300x149.png\" alt=\"Screen Shot 2015-11-24 at 10.16.59 PM\" width=\"389\" height=\"193\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.16.59-PM-300x149.png 300w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.16.59-PM.png 469w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\" \/><\/p>\n<p><strong>Los tipos de datos que soporta Sequelize son los siguientes:<\/strong><\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.40-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-663 alignleft\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.40-PM-300x207.png\" alt=\"Screen Shot 2015-11-24 at 10.20.40 PM\" width=\"359\" height=\"248\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.40-PM-300x207.png 300w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.40-PM.png 933w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.58-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-664\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.58-PM-300x216.png\" alt=\"Screen Shot 2015-11-24 at 10.20.58 PM\" width=\"360\" height=\"259\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.58-PM-300x216.png 300w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.20.58-PM.png 894w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/><\/a><\/p>\n<p><em>Imagen 1.2 Tomada de www.docs.sequelize.com\/en\/latest\/docs\/models-definition\/<\/em><\/p>\n<p>3.- La parte mas importante es saber como manera la informaci\u00f3n de tu tabla en tu base de datos en un modelo, pues bien la tarea puede ser un poco aburrida ya que esta parte es mec\u00e1nica, pero es esencial, ya que m\u00e1s adelante aprender\u00e1s la utilidad de hacer un buen mapeo al momento de realizar una consulta.<\/p>\n<p><strong>Definamos nuestro modelo Notificaci\u00f3n<\/strong><\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.23.49-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-665\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.23.49-PM-298x300.png\" alt=\"Screen Shot 2015-11-24 at 10.23.49 PM\" width=\"390\" height=\"392\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.23.49-PM-298x300.png 298w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.23.49-PM-150x150.png 150w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.23.49-PM.png 518w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>La parte mas importante a considerar es que, a todo modelo debes definirle un primaryKey, el tipo de dato que est\u00e1 definido en los atributos de tu objeto, debe de ser exactamente igual al tipo de dato definido en los campos de tu tabla. Finalmente TableName es el nombre de la tabla en el cual hace enlace con tu base De Datos.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>4: Guardar un dato en la base de datos mediante el ORM<\/strong><\/p>\n<p>A continuaci\u00f3n le mostramos una funci\u00f3n llamada create que recibe los atributos de un Modelo de Objeto ya definido; \u00e9sta funci\u00f3n es equivalente a que si hicieras un INSERT INTO en mysql o PostgreSQL o cualquier otro motor de base de datos.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.31.47-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-668 aligncenter\" src=\"http:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.31.47-PM-300x68.png\" alt=\"Screen Shot 2015-11-24 at 10.31.47 PM\" width=\"366\" height=\"83\" srcset=\"https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.31.47-PM-300x68.png 300w, https:\/\/blog.espol.edu.ec\/taws\/files\/2015\/11\/Screen-Shot-2015-11-24-at-10.31.47-PM.png 573w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><\/a><\/p>\n<p><strong>Conclusi\u00f3n:<\/strong><\/p>\n<p>Una gran ventaja con otros ORM es que te muestra por l\u00ednea de consola, cada operaci\u00f3n que realiza a la base de datos, y te muestra los resultados que obtiene, tambi\u00e9n es muy f\u00e1cil de usar ya que muchas de sus caracter\u00edsticas se asocian al manejo de Objetos .<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagen 1.0 Tomada de www.docs.sequelize.com Este ORM soporta los dialectos para Mysql , Postgre SQL , MariaDB , SQlite , siendo muy f\u00e1cil y flexible en usar al momento de mapear tus tablas en Modelos de Objetos Relacionales, quiz\u00e1s eres nuevo en Desarrollo de Aplicaciones Web , \u00a0y te preguntar\u00e1s: \u00bfPara qu\u00e9 sirve un ORM? [&hellip;]<\/p>\n","protected":false},"author":9993,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[136298,15],"tags":[],"class_list":["post-656","post","type-post","status-publish","format-standard","hentry","category-base-de-datos-2","category-web"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/posts\/656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/users\/9993"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/comments?post=656"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/posts\/656\/revisions"}],"predecessor-version":[{"id":674,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/posts\/656\/revisions\/674"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/media?parent=656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/categories?post=656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/taws\/wp-json\/wp\/v2\/tags?post=656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}