{"id":141,"date":"2014-11-12T23:17:19","date_gmt":"2014-11-12T23:17:19","guid":{"rendered":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=141"},"modified":"2014-11-12T23:33:06","modified_gmt":"2014-11-12T23:33:06","slug":"sqldml","status":"publish","type":"post","link":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=141","title":{"rendered":"SQL\/DML"},"content":{"rendered":"<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">Os comandos da Linguagem de Modelagem de Dados do SQL s\u00e3o respons\u00e1veis por:<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2013 Comandos de inser\u00e7\u00e3o de tuplas em tabelas<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2013 Comandos de altera\u00e7\u00e3o e supress\u00e3o de tuplas<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2013 Comandos de consulta (b\u00e1sicos e complexos)<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">Def. A SQL\/DML(Data Manipulation Language) \u00e9 um subconjunto da SQL usada para recuperar, inserir, atualizar e suprimir dados de tabelas do BD.<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2022 INSERT \u2013 inser\u00e7\u00e3o de linhas;<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2022 DELETE \u2013 supress\u00e3o de linhas;<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2022 UPDATE \u2013 atualiza\u00e7\u00e3o de dados;<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">\u2022 SELECT \u2013 recupera\u00e7\u00e3o de tabelas;<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">OBS: ser\u00e3o mostradas caracter\u00edsticas do padr\u00e3o SQL implementadas pelo PostgreSQL, omitindo funcionalidades adicionais e destacando eventuais omiss\u00f5es.<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 24pt;\">Insert<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">INSERT INTO tabela [ ( coluna [, &#8230;] ) ]<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">{ DEFAULT VALUES <\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">|VALUES ( { express\u00e3o | DEFAULT } [, &#8230;] ) <\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">[, &#8230;] <\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">| comando-select<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">}<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">Exemplo 1<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">INSERT INTO tabela VALUES (express\u00e3o [, &#8230;] )<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">INSERT INTO employee<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">VALUES (&#8216;John&#8217;, &#8216;B&#8217;, &#8216;Smith&#8217;, &#8216;123456789&#8217;,<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">DATE &#8216;1965-01-09&#8217;, &#8216;731 Fondren, Houston, TX&#8217;,<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">&#8216;M&#8217;, 30000, &#8216;333445555&#8217;, 5);<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 14pt;\"><em>Compatibilidade de tipos: <\/em><\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">employee (fname VARCHAR (15) NOT NULL,<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">minit CHAR, lname VARCHAR (15) NOT NULL,<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">ssn CHAR(9) PRIMARY KEY, bdate DATE,<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">address VARCHAR(30), sex CHAR CHECK (sex IN (\u2019M\u2019, \u2019F\u2019)),<\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">salary DECIMAL(10,2), superssn CHAR(9), dno INT NOT NULL) <\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">Exemplo 2<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">INSERT INTO tabela ( coluna [, &#8230;] ) <\/span><\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 12pt;\">VALUES (express\u00e3o [, &#8230;] ) <\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">INSERT INTO employee(fname, minit, lname, ssn, dno)<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 12pt;\">VALUES (&#8216;John&#8217;, &#8216;B&#8217;, &#8216;Smith&#8217;, &#8216;123456789&#8217;, 5);<\/span><\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">Exemplo 3<\/span><\/p>\n<p style=\"text-align: left\">INSERT INTO tabela comando-select<\/p>\n<p style=\"text-align: left\">\n<p style=\"text-align: left\">INSERT INTO works_on<\/p>\n<p style=\"text-align: left\">SELECT ssn, pnumber, 0<\/p>\n<p style=\"text-align: left\"> FROM employee, project;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 25pt;\">Delete<\/span><\/p>\n<p style=\"text-align: left\">DELETE FROM tabela [ [ AS ] alias ]<\/p>\n<p style=\"text-align: left\"> [ WHERE condi\u00e7\u00e3o <\/p>\n<p style=\"text-align: left\"> | WHERE CURRENT OF cursor_name ]<\/p>\n<p style=\"text-align: left\">DELETE FROM employee WHERE ssn = &#8216;123456789&#8217;<\/p>\n<p style=\"text-align: left\">OBS: o uso de cursores ser\u00e1 visto posteriormente<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 29pt;\">Update<\/span><\/p>\n<p style=\"text-align: left\">UPDATE tabela [ [ AS ] alias ]<\/p>\n<p style=\"text-align: left\"> SET {coluna = { expresss\u00e3o | DEFAULT } <\/p>\n<p style=\"text-align: left\"> | ( coluna [, &#8230;] ) = <\/p>\n<p style=\"text-align: left\"> ( { express\u00e3o | DEFAULT } [, &#8230;] )<\/p>\n<p style=\"text-align: left\">} [, &#8230;]<\/p>\n<p style=\"text-align: left\"> [ WHERE condi\u00e7\u00e3o<\/p>\n<p style=\"text-align: left\"> | WHERE CURRENT OF cursor_name ]<\/p>\n<p style=\"text-align: left\">OBS: o uso de cursores ser\u00e1 visto posteriormente<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 22pt;\">Update Exemplo 1<\/span><\/p>\n<p style=\"text-align: left\">UPDATE employee <\/p>\n<p style=\"text-align: left\">SET address = &#8216;Av. Joao Naves de Avila, 2121&#8217;,<\/p>\n<p style=\"text-align: left\"> salary = salary * 1.5<\/p>\n<p style=\"text-align: left\">WHERE ssn = &#8216;123456789&#8217;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 24pt;\">Update Contra-Exemplo<\/span><\/p>\n<p style=\"text-align: left\">UPDATE works_on<\/p>\n<p style=\"text-align: left\">SET (pno, hours) =<\/p>\n<p style=\"text-align: left\">(SELECT pnumber, 10 <\/p>\n<p style=\"text-align: left\"> FROM project WHERE pnumber = 1)<\/p>\n<p style=\"text-align: left\">WHERE essn=&#8217;123456789&#8242;;<\/p>\n<p style=\"text-align: left\">OBS: o padr\u00e3o permite associa\u00e7\u00e3o de uma lista de atributos com uma tupla resultante da sa\u00edda de uma consulta, mas isto n\u00e3o foi implementado pelo PostgreSql 8.3, onde as express\u00f5es devem ser independentes. Logo o comando acima n\u00e3o funciona no PostgreSql 8.3 (teste isso nas vers\u00f5es mais recentes)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 24pt;\">Update Exemplo 2<\/span><\/p>\n<p style=\"text-align: left\">UPDATE works_on<\/p>\n<p style=\"text-align: left\">SET (pno, hours) = (1, 10)<\/p>\n<p style=\"text-align: left\">WHERE essn=&#8217;123456789&#8242;;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 29pt;\">Select<\/span><\/p>\n<p style=\"text-align: left\">SELECT [ALL | DISTINCT] <\/p>\n<p style=\"text-align: left\"> * | express\u00e3o [ AS nome_saida ] [, &#8230;]<\/p>\n<p style=\"text-align: left\"> FROM item_from [, &#8230;] <\/p>\n<p style=\"text-align: left\"> [ WHERE condi\u00e7\u00e3o ]<\/p>\n<p style=\"text-align: left\"> [ GROUP BY express\u00e3o [, &#8230;] ]<\/p>\n<p style=\"text-align: left\"> [ HAVING condi\u00e7\u00e3o [, &#8230;] ]<\/p>\n<p style=\"text-align: left\"> [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]<\/p>\n<p style=\"text-align: left\"> [ ORDER BY express\u00e3o [ ASC | DESC | USING operador ] <\/p>\n<p style=\"text-align: left\"> [ NULLS { FIRST | LAST } ] [, &#8230;] ]<\/p>\n<p style=\"text-align: left\"> [ FOR { UPDATE | SHARE } <\/p>\n<p style=\"text-align: left\"> [ OF nome_tabela [, &#8230;] ] [ NOWAIT ] [&#8230;] ]<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 23pt;\">\u2013Consultas b\u00e1sicas e complexas<\/span><\/p>\n<p style=\"text-align: left\">Considerando os diversos par\u00e2metros do comando SELECT, <\/p>\n<p style=\"text-align: left\">para efeito did\u00e1tico, vamos dividir nosso estudo em:<\/p>\n<p style=\"text-align: left\">\uf06c consultas b\u00e1sicas: na condi\u00e7\u00e3o do WHERE n\u00e3o existe <\/p>\n<p style=\"text-align: left\">outro SELECT<\/p>\n<p style=\"text-align: left\">\uf06c consultas complexas: s\u00e3o consultas aninhadas, onde na <\/p>\n<p style=\"text-align: left\">condi\u00e7\u00e3o do SELECT existe outra cl\u00e1usula SELECT.<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 19pt;\">SELECT-FROM-WHERE<\/span><\/p>\n<p style=\"text-align: left\">Formato de comando SELECT para consultas b\u00e1sicas:<\/p>\n<p style=\"text-align: left\">SELECT lista-de-atributos<\/p>\n<p style=\"text-align: left\"> FROM lista-de-tabelas<\/p>\n<p style=\"text-align: left\"> WHERE condi\u00e7\u00e3o<\/p>\n<p style=\"text-align: left\">OBS:<\/p>\n<p style=\"text-align: left\">\u2013 condi\u00e7\u00f5es sem cl\u00e1usula SELECT;<\/p>\n<p style=\"text-align: left\">\u2013 os exemplos a seguir seguem a numera\u00e7\u00e3o de EN e est\u00e3o <\/p>\n<p style=\"text-align: left\">baseados no BD company;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Restri\u00e7\u00e3o + Proje\u00e7\u00e3o<\/span><\/p>\n<p style=\"text-align: left\">QO) Listar a data de nascimento e o endere\u00e7o dos <\/p>\n<p style=\"text-align: left\">empregados com nome : John B. Smith.<\/p>\n<p style=\"text-align: left\">SELECT bdate, address<\/p>\n<p style=\"text-align: left\"> FROM employee<\/p>\n<p style=\"text-align: left\">WHERE fname=\u2019John\u2019 <\/p>\n<p style=\"text-align: left\">AND minit=\u2019B\u2019 <\/p>\n<p style=\"text-align: left\">AND lname=\u2019Smith\u2019;<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Restri\u00e7\u00e3o + Proje\u00e7\u00e3o + Jun\u00e7\u00e3o<\/span><\/p>\n<p style=\"text-align: left\">Q1) Listar o nome e endere\u00e7o dos empregados que trabalham <\/p>\n<p style=\"text-align: left\">no departamento \u2019Research<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, lname, address<\/p>\n<p style=\"text-align: left\"> FROM employee, department<\/p>\n<p style=\"text-align: left\"> WHERE dno=dnumber AND dname=\u2019Research\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 20pt;\">Jun\u00e7\u00e3o com duas condi\u00e7\u00f5es<\/span><\/p>\n<p style=\"text-align: left\">Q2) Para todo projeto localizado em \u2019Stafford\u2019, listar o <\/p>\n<p style=\"text-align: left\">n\u00famero do projeto, o n\u00famero do departamento que o <\/p>\n<p style=\"text-align: left\">controla e o \u00faltimo nome, endere\u00e7o e data de nascimento <\/p>\n<p style=\"text-align: left\">do gerente do departamento.<\/p>\n<p style=\"text-align: left\">SELECT pnumber, dnum, lname, address, bdate<\/p>\n<p style=\"text-align: left\">FROM project, department, employee<\/p>\n<p style=\"text-align: left\">WHERE plocation=\u2019Stafford\u2019 <\/p>\n<p style=\"text-align: left\">AND dnum=dnumber <\/p>\n<p style=\"text-align: left\">AND ssn=mgrssn<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Ambiguidade de nomes de atributos<\/span><\/p>\n<p style=\"text-align: left\">Suponha que DNUMBER e NAME s\u00e3o os nomes dos <\/p>\n<p style=\"text-align: left\">atributos DNO e LNAME em EMPLOYEE, <\/p>\n<p style=\"text-align: left\">respectivamente. Al\u00e9m disso, suponha que NAME \u00e9 o <\/p>\n<p style=\"text-align: left\">nome do atributo DNAME em DEPARTMENT.<\/p>\n<p style=\"text-align: left\">Ent\u00e3o:<\/p>\n<p style=\"text-align: left\">employee(fname, minit, name, ssn, bdate, address, sex, <\/p>\n<p style=\"text-align: left\">salary, superssn, dnumber)<\/p>\n<p style=\"text-align: left\">department(name, dnumber, mgrssn, mgrstartdate)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Qualificando atributos<\/span><\/p>\n<p style=\"text-align: left\">Q1a) Listar o nome e endere\u00e7o dos empregados que <\/p>\n<p style=\"text-align: left\">trabalham no departamento \u2019Research\u2019 considerando os <\/p>\n<p style=\"text-align: left\">esquemas abaixo<\/p>\n<p style=\"text-align: left\">employee(fname, minit, name, ssn, bdate, address, sex, <\/p>\n<p style=\"text-align: left\">salary, superssn, dnumber)<\/p>\n<p style=\"text-align: left\">department(name, dnumber, mgrssn, mgrstartdate)<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, employee.name<\/p>\n<p style=\"text-align: left\"> FROM employee, department<\/p>\n<p style=\"text-align: left\"> WHERE employee.dnumber=department.dnumber <\/p>\n<p style=\"text-align: left\">AND department.name=\u2019Research\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 25pt;\">Apelidos de Tabelas (Renomea\u00e7\u00e3o)<\/span><\/p>\n<p style=\"text-align: left\">Q8) Para cada empregado, liste o seu primeiro e o seu \u00faltimo <\/p>\n<p style=\"text-align: left\">nome acompanhados do \u00faltimo nome de seu supervisor.<\/p>\n<p style=\"text-align: left\">SELECT e.fname, e.lname, s.lname<\/p>\n<p style=\"text-align: left\">FROM employee AS e, employee AS s<\/p>\n<p style=\"text-align: left\">WHERE e.superssn=s.ssn<\/p>\n<p style=\"text-align: left\">Q1b&#8217;) Listar o nome e o endere\u00e7o dos empregados que <\/p>\n<p style=\"text-align: left\">trabalham no departamento \u2019Research\u2019 considerando as <\/p>\n<p style=\"text-align: left\">novas tabelas employee e department e usando apelidos<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, e.name, address<\/p>\n<p style=\"text-align: left\">FROM employee e, department d<\/p>\n<p style=\"text-align: left\">WHERE e.dnumber=d.dnumber <\/p>\n<p style=\"text-align: left\">AND d.name=\u2019Research\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Exemplo Q1c\u2013Omitindo WHERE e uso do * para consulta sem proje\u00e7\u00e3o<\/span><\/p>\n<p style=\"text-align: left\">Qlc&#8217;) Listar todos os valores de atributos de todos os empregados<\/p>\n<p style=\"text-align: left\">SELECT * FROM employee<\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 28pt;\">Produto Cartesiano<\/span><\/p>\n<p style=\"text-align: left\">Q1Ob) Listar o produto cartesiano de empregados e departamentos<\/p>\n<p style=\"text-align: left\">SELECT *<\/p>\n<p style=\"text-align: left\">FROM employee, department<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Tabela x rela\u00e7\u00e3o\/\/ multset ou bags x set \/\/ Cl\u00e1usula DISTINCT<\/span><\/p>\n<p style=\"text-align: left\">Q11a) Listar todos os sal\u00e1rios distintos<\/p>\n<p style=\"text-align: left\">SELECT DISTINCT salary<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\"> <span style=\"font-size: 21pt;\">Cl\u00e1usula UNION<\/span><\/p>\n<p style=\"text-align: left\">Q4) Listar todos os n\u00fameros de projetos que envolvam um<\/p>\n<p style=\"text-align: left\">empregado cujo \u00faltimo nome \u00e9 \u2019Smith\u2019 sendo que o <\/p>\n<p style=\"text-align: left\">empregado deve sertrabalhador ou gerente do <\/p>\n<p style=\"text-align: left\">departamento que controla o projeto.<\/p>\n<p style=\"text-align: left\">(SELECT DISTINCT pnumber<\/p>\n<p style=\"text-align: left\">FROM project, department, employee<\/p>\n<p style=\"text-align: left\">WHERE dnum=dnumber AND msgrssn=ssn AND lname=\u2019Smith\u2019)<\/p>\n<p style=\"text-align: left\">UNION<\/p>\n<p style=\"text-align: left\">(SELECT DISTINCT pnumber<\/p>\n<p style=\"text-align: left\">FROM works_on, employee<\/p>\n<p style=\"text-align: left\">WHERE essn=ssn AND lname=\u2019Smith\u2019)<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 21pt;\">Cl\u00e1usula LIKE<\/span><\/p>\n<p style=\"text-align: left\">Q12) Listar o nome de todo empregado cujo endere\u00e7o est\u00e1 <\/p>\n<p style=\"text-align: left\">em Houston, Texas<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, lname<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE address LIKE \u2019%Houston%TX%\u2019<\/p>\n<p style=\"text-align: left\"><span style=\"font-size: 20pt;\">Like usando underline _<\/span><\/p>\n<p style=\"text-align: left\">Q12a) Listar o nome de todos os empregados nascidos na <\/p>\n<p style=\"text-align: left\">d\u00e9cada de 50<\/p>\n<p style=\"text-align: left\">SELECT fname, minit, lname<\/p>\n<p style=\"text-align: left\">FROM employee<\/p>\n<p style=\"text-align: left\">WHERE bdate LIKE \u2019_ _ 5%\u2019<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os comandos da Linguagem de Modelagem de Dados do SQL s\u00e3o respons\u00e1veis por: \u2013 Comandos de inser\u00e7\u00e3o de tuplas em tabelas \u2013 Comandos de altera\u00e7\u00e3o e supress\u00e3o de tuplas \u2013 Comandos de consulta (b\u00e1sicos e complexos) Def. A SQL\/DML(Data Manipulation Language) \u00e9 um subconjunto da SQL usada para recuperar, inserir, atualizar e suprimir dados de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-141","post","type-post","status-publish","format-standard","hentry","category-bd"],"_links":{"self":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=141"}],"version-history":[{"count":1,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":142,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions\/142"}],"wp:attachment":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}