{"id":4521,"date":"2018-01-27T23:49:42","date_gmt":"2018-01-28T07:49:42","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4521"},"modified":"2025-06-13T17:32:51","modified_gmt":"2025-06-14T00:32:51","slug":"couchbase-oracle-developers-part-3-database-objects","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-3-database-objects\/","title":{"rendered":"Couchbase para desenvolvedores Oracle - Parte 3: Objetos de banco de dados"},"content":{"rendered":"<p>Aqui est\u00e1 a p\u00e1gina inicial da s\u00e9rie:\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-2-architecture\/\">https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-2-architecture\/<\/a><\/p>\n<p><span style=\"font-weight: 400\">Os DBAs Oracle trabalham com clusters, m\u00e1quinas, sistemas de armazenamento, discos etc. Os desenvolvedores Oracle e seus aplicativos trabalham com bancos de dados, tabelas, linhas, colunas, parti\u00e7\u00f5es, usu\u00e1rios e tipos de dados no sistema de banco de dados Oracle.  Vamos comparar e contrastar como isso \u00e9 feito no Couchbase.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4524 alignleft\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-27-at-11.44.58-PM-300x142.png\" alt=\"\" width=\"539\" height=\"254\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-27-at-11.44.58-PM-300x142.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-27-at-11.44.58-PM-768x364.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-27-at-11.44.58-PM-20x9.png 20w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td>T\u00f3pico<\/td>\n<td><span style=\"color: #ff0000\">Or\u00e1culo<\/span><\/td>\n<td><span style=\"color: #ff0000\">Couchbase<\/span><\/td>\n<\/tr>\n<tr>\n<td>Banco de dados<\/td>\n<td>Banco de dados<\/td>\n<td><span style=\"font-weight: 400\">Em uma inst\u00e2ncia do Couchbase (cluster de n\u00f3 \u00fanico ou de v\u00e1rios n\u00f3s), voc\u00ea pode criar um ou mais buckets.\u00a0\u00a0<\/span><span style=\"font-weight: 400\">Do ponto de vista do desenvolvedor, voc\u00ea cria buckets e come\u00e7a a inserir JSON de v\u00e1rios tipos nos buckets.<\/span><\/p>\n<p><b>CRIAR:<\/b><\/p>\n<p><span style=\"font-weight: 400\">Voc\u00ea cria o bucket pelo console da Web do Couchbase ou pela API REST.\u00a0<\/span><span style=\"font-weight: 400\">No console da Web, forne\u00e7a as informa\u00e7\u00f5es abaixo.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4522 alignleft\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/01\/Screen-Shot-2018-01-24-at-8.16.41-PM-176x300.png\" alt=\"\" width=\"306\" height=\"522\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-24-at-8.16.41-PM-176x300.png 176w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-24-at-8.16.41-PM-602x1024.png 602w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/Screen-Shot-2018-01-24-at-8.16.41-PM-12x20.png 12w\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" \/><\/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>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">O usu\u00e1rio fornece o seguinte:<\/span><\/p>\n<p><strong>Nome de um balde.<\/strong><\/p>\n<p><span style=\"font-weight: 400\"><strong>Localiza\u00e7\u00e3o de um armazenamento de dados existente<\/strong>. O Couchbase cria um diret\u00f3rio com o nome do bucket abaixo do especificado diretamente. Nesse caso, o diret\u00f3rio CUSTOMER \u00e9 criado em : \/my\/data.  Esse diret\u00f3rio \/my\/data deve existir em cada n\u00f3 do cluster do Couchbase com servi\u00e7o de dados (valor-chave).  Isso \u00e9 fixo e imut\u00e1vel.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>Mem\u00f3ria usada em megabytes.<\/strong> Essa \u00e9 a quantidade fixa de mem\u00f3ria usada para armazenar os dados em cache \u00e0 medida que voc\u00ea insere\/carrega os dados.  Os dados reais na mem\u00f3ria dependem do padr\u00e3o de acesso do seu aplicativo.  Os algoritmos usuais LRU e MRU s\u00e3o usados para determinar quais documentos s\u00e3o mantidos na mem\u00f3ria e quais s\u00e3o removidos. Para obter mais informa\u00e7\u00f5es sobre o despejo de chaves, consulte o link: <\/span><\/p>\n<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/architecture\/db-engine-architecture.html\"><span style=\"font-weight: 400\">https:\/\/bit.ly\/2ngKUZk<\/span><\/a><\/p>\n<p><strong>Tipo de ca\u00e7amba<\/strong><\/p>\n<p><span style=\"font-weight: 400\"><strong>Couchbase:<\/strong> Banco de dados JSON<\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>Memcached:<\/strong> Memcache<\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>Ef\u00eamera<\/strong>O Couchbase Bucket \u00e9 um balde do Couchbase: igual ao balde do Couchbase, exceto que todos os dados e \u00edndices est\u00e3o apenas na mem\u00f3ria.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>R\u00e9plica:<\/strong> Por padr\u00e3o, h\u00e1 uma c\u00f3pia dos dados no cluster. Voc\u00ea pode ter at\u00e9 tr\u00eas c\u00f3pias dos dados no cluster. Na se\u00e7\u00e3o <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/CAP_theorem\"><span style=\"font-weight: 400\">Regras do teorema CAP<\/span><\/a><span style=\"font-weight: 400\">. H\u00e1 muitos artigos e palestras sobre o teorema CAP e sua aplica\u00e7\u00e3o a bancos de dados NoSQL em dom\u00ednio p\u00fablico. Isso significa que o Couchbase escolhe a consist\u00eancia em vez da disponibilidade (C sobre A).  O suporte \u00e0 toler\u00e2ncia de parti\u00e7\u00e3o \u00e9 um requisito para esses sistemas de escala de v\u00e1rios n\u00f3s.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Consulte a documenta\u00e7\u00e3o do Couchbase para obter detalhes completos sobre todos os par\u00e2metros e exemplos.<\/span><\/p>\n<p>https:\/\/bit.ly\/2GrbMOw<\/td>\n<\/tr>\n<tr>\n<td>Tabela<\/td>\n<td>Tabela<\/td>\n<td><span style=\"font-weight: 400\">No momento, o Couchbase Bucket atende a dois\u00a0<\/span><span style=\"font-weight: 400\">prop\u00f3sitos. \u00a0<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Controle de ponto de acesso<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Recipiente para todos os documentos.<\/span><\/li>\n<\/ol>\n<p>Como discutimos anteriormente, pode haver at\u00e9 10 buckets em um sistema Couchbase. No RDBMS, voc\u00ea armazena uma linha que pertence a um dom\u00ednio em uma \u00fanica tabela.<\/p>\n<p><span style=\"font-weight: 400\">No Couchbase, voc\u00ea modela seu documento para conter o m\u00e1ximo poss\u00edvel de dados sobre o objeto.  Por exemplo, o objeto CUSTOMER pode conter n\u00e3o apenas as informa\u00e7\u00f5es b\u00e1sicas do cliente, mas tamb\u00e9m os pedidos do cliente, de modo que uma \u00fanica opera\u00e7\u00e3o GET possa obter todas as informa\u00e7\u00f5es do cliente rapidamente. <\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">Exemplo de INSERT de documento via N1QL:<\/span><\/p>\n<pre class=\"theme:github whitespace-before:1 whitespace-after:1 lang:js decode:true\">INSERT INTO `travel-sample` VALUES(\"CX:3424\",   {\r\n \t\"type\": \"CUSTOMER\",\r\n \t\"Name\": \"Jane Smith\",\r\n \t\"DOB\": \"1990-01-30\",\r\n \t\"Billing\": [{\r\n \t\t\t\"type\": \"visa\",\r\n \t\t\t\"cardnum\": \"5827-2842-2847-3909\",\r\n \t\t\t\"expiry\": \"2019-03\"\r\n \t\t},\r\n \t\t{\r\n \t\t\t\"type\": \"master\",\r\n \t\t\t\"cardnum\": \"6274-2842-2847-3909\",\r\n \t\t\t\"expiry\": \"2019-03\"\r\n \t\t}\r\n \t],\r\n \t\"Connections\": [{\r\n \t\t\t\"CustId\": \"XYZ987\",\r\n \t\t\t\"Name\": \"Joe Smith\"\r\n \t\t},\r\n \t\t{\r\n \t\t\t\"CustId\": \"PQR823\",\r\n \t\t\t\"Name\": \"Dylan Smith\"\r\n \t\t}, {\r\n \t\t\t\"CustId\": \"PQR823\",\r\n \t\t\t\"Name\": \"Dylan Smith\"\r\n \t\t}\r\n \t],\r\n \t\"Purchases\": [{\r\n \t\t\"id\": 12,\r\n \t\t\"item\": \"mac\",\r\n \t\t\"amt\": 2823.52\r\n \t}, {\r\n \t\t\"id\": 19,\r\n \t\t\"item\": \"ipad2\",\r\n \t\t\"amt\": 623.52\r\n \t}]\r\n });\r\n\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Observe que n\u00e3o houve CREATE TABLE para CUSTOMER. Voc\u00ea insere o documento JSON no bucket de forma simples e direta.  Voc\u00ea precisa de um documento exclusivo do compartimento.  Esse exclusivo \u00e9 modelado na chave prim\u00e1ria de uma tabela. Se voc\u00ea tiver v\u00e1rias partes, separe-as com um delimitador, como um h\u00edfen, um sublinhado ou um ponto.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Agora voc\u00ea tem o documento CUSTOMER no compartimento chamado e-commerce.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Agora, voc\u00ea quer outro tipo de documento, como PARTNER. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Voc\u00ea pode simplesmente criar um bucket separado chamado PARTNER.  OU, voc\u00ea pode inserir os documentos do PARTNER no mesmo BUCKET.  A inser\u00e7\u00e3o em um bucket separado \u00e9 simples. No Couchbase, \u00e9 uma pr\u00e1tica comum e recomendada usar o mesmo bucket para armazenar documentos de v\u00e1rios tipos para um aplicativo.  Isso tem duas vantagens. <\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> O Couchbase pode criar at\u00e9 10 buckets em um cluster. \u00c9 comum ter muitos tipos de documentos. Voc\u00ea n\u00e3o quer ficar sem buckets.<\/span><\/li>\n<li><span style=\"font-weight: 400\"> Ter um \u00fanico bucket facilita o gerenciamento.  \u00c9 como ter um \u00fanico banco de dados em vez de v\u00e1rios bancos de dados.<\/span><\/li>\n<\/ol>\n<pre class=\"theme:github whitespace-before:1 whitespace-after:1 lang:js decode:true\">INSERT INTO ecommerce VALUES(\"CX:3424\", , \r\n{\r\n    \"type\" : \"CUSTOMER\"\r\n    \"Name\" : \"Jane Smith\",\r\n    \"DOB\"  : \"1990-01-30\",\r\n});\r\n<\/pre>\n<p>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td>Linha<\/td>\n<td>Linha<\/td>\n<td>\u00a0<span style=\"font-weight: 400\">Documento JSON, com sua chave de documento.<\/span><\/p>\n<pre class=\"theme:github whitespace-before:1 whitespace-after:1 lang:js decode:true\">Document key: \"CX:3424\"\r\n{\r\n\"type\" : \"CUSTOMER\"\r\n\"Name\" : \"Jane Smith\",\r\n\"DOB\" &amp;nbsp;: \"1990-01-30\",\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">Considera\u00e7\u00f5es sobre o design da chave do documento:\u00a0<a href=\"https:\/\/bit.ly\/2GnRwwV\">https:\/\/bit.ly\/2GnRwwV<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Coluna<\/td>\n<td>Coluna<\/td>\n<td><span style=\"font-weight: 400\">O JSON \u00e9 composto de pares de valores-chave.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Exemplo: {\"fullname\": \"Joe Smith\"}<\/span><\/p>\n<p><span style=\"font-weight: 400\">{\"name: {\"fname\": \"Joe\", \"lname\": \"Smith\"}<\/span><\/p>\n<p><span style=\"font-weight: 400\">{\"hobbies\": [\"lego\", \"rob\u00f3tica\", \"esqui\"]}<\/span><\/p>\n<p><span style=\"font-weight: 400\">Nesses documentos, \"name\" \u00e9 uma chave, tamb\u00e9m conhecida como atributo. <\/span><span style=\"font-weight: 400\">Seu valor pode ser escalar (fullname), um objeto (name) ou uma matriz (hobbies).<\/span><\/p>\n<p><span style=\"font-weight: 400\">No Oracle, ao criar a tabela, voc\u00ea especifica os nomes das colunas e seus tipos de dados. <\/span><\/p>\n<p><span style=\"font-weight: 400\">No Couchbase, voc\u00ea simplesmente insere documentos JSON.  Cada documento descreve o atributo (coluna)\u00a0<\/span><span style=\"font-weight: 400\">nomes. Isso lhe d\u00e1 a flexibilidade de evoluir o esquema sem precisar bloquear a tabela. <\/span><span style=\"font-weight: 400\">Os tipos de dados s\u00e3o simplesmente interpretados a partir do pr\u00f3prio valor: String, n\u00famero, nulo, verdadeiro, falso, objeto ou uma matriz. <\/span><\/td>\n<\/tr>\n<tr>\n<td>Visualiza\u00e7\u00f5es<\/td>\n<td>As visualiza\u00e7\u00f5es podem ser criadas com o comando CREATE VIEW. Uma vez criadas, elas s\u00e3o simplesmente rela\u00e7\u00f5es que podem ser usadas em qualquer lugar em que uma tabela (conjunto de rela\u00e7\u00f5es) possa ser usada. H\u00e1 alguns requisitos adicionais para atualiza\u00e7\u00f5es em visualiza\u00e7\u00f5es (por exemplo, em vez de acionadores para inser\u00e7\u00e3o, atualiza\u00e7\u00f5es em visualiza\u00e7\u00f5es complexas).<\/td>\n<td><span style=\"font-weight: 400\">O Couchbase n\u00e3o tem visualiza\u00e7\u00e3o din\u00e2mica baseada em SQL como o Oracle. O Couchbase tem uma tecnologia que chamamos de \"Couchbase Views\", baseada na estrutura de redu\u00e7\u00e3o de mapas. Elas s\u00e3o semelhantes \u00e0s visualiza\u00e7\u00f5es materializadas e n\u00e3o \u00e0 visualiza\u00e7\u00e3o SQL e n\u00e3o podem ser usadas com o N1QL.<\/span><\/td>\n<\/tr>\n<tr>\n<td>Visualiza\u00e7\u00f5es materializadas (tamb\u00e9m conhecidas como tabelas de consultas materializadas)<\/td>\n<td>Visualiza\u00e7\u00f5es materializadas<\/td>\n<td>\u00a0<span style=\"font-weight: 400\">O Couchbase VIEW fornece uma estrutura flex\u00edvel de map-reduce para que voc\u00ea crie pr\u00e9-agrega\u00e7\u00f5es, \u00edndices e qualquer outra coisa que queira criar.  Veja mais detalhes em: https:\/\/bit.ly\/2EhIFfF<\/span><\/td>\n<\/tr>\n<tr>\n<td>Sequ\u00eancias<\/td>\n<td>Sequ\u00eancias<\/td>\n<td>N\u00e3o dispon\u00edvel<\/td>\n<\/tr>\n<tr>\n<td>Gatilhos<\/td>\n<td>Gatilhos<\/td>\n<td><span style=\"font-weight: 400\">Os acionadores n\u00e3o est\u00e3o dispon\u00edveis.<\/span><\/p>\n<p><span style=\"font-weight: 400\">As configura\u00e7\u00f5es de expira\u00e7\u00e3o (TTL: time to live) permitem que voc\u00ea acione automaticamente a exclus\u00e3o de um documento ap\u00f3s um determinado per\u00edodo.\u00a0<a href=\"https:\/\/bit.ly\/2DFe7U2\">https:\/\/bit.ly\/2DFe7U2<\/a>\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td>Restri\u00e7\u00f5es<\/td>\n<td><span style=\"font-weight: 400\">Restri\u00e7\u00f5es: chave prim\u00e1ria, exclusivo, Verificar, referencial, n\u00e3o nulo,<\/span><\/td>\n<td>O Couchbase exige e imp\u00f5e restri\u00e7\u00f5es exclusivas sobre a chave do documento em um bucket. Os documentos podem ter refer\u00eancia \u00e0 chave de outro documento. Eles simplesmente armazenam os dados e podem ser usados em opera\u00e7\u00f5es JOIN. A refer\u00eancia em si n\u00e3o \u00e9 verificada ou imposta.<\/td>\n<\/tr>\n<tr>\n<td>\u00cdndices<\/td>\n<td>\u00cdndices<\/td>\n<td>\u00a0<span style=\"font-weight: 400\">\u00cdndice.  Mais detalhes na se\u00e7\u00e3o Index. Por enquanto, voc\u00ea pode ver o blog detalhado: https:\/\/bit.ly\/2DI1nAa<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s the home page for the series:\u00a0https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-2-architecture\/ Oracle DBAs work with clusters, machines, storage systems, disks, etc. Oracle developers and their applications work with databases, tables, rows, columns, partitions, users, data types within the Oracle database system. \u00a0Let\u2019s compare and [&hellip;]<\/p>","protected":false},"author":55,"featured_media":13997,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1819,1812],"tags":[1572,1458,1592],"ppma_author":[8929],"class_list":["post-4521","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-data-modeling","category-n1ql-query","tag-database","tag-migration","tag-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase for Oracle developers - Part 3 : Database Objects - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Oracle DBAs work with clusters, machines, storage systems, disks, etc. Oracle developers and their applications work with databases, tables, rows, columns, partitions, users, data types within the Oracle database system. \u00a0Let\u2019s compare and contrast how this is done on Couchbase.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-3-database-objects\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase for Oracle developers -- Part 3 : Database Objects\" \/>\n<meta property=\"og:description\" content=\"Oracle DBAs work with clusters, machines, storage systems, disks, etc. Oracle developers and their applications work with databases, tables, rows, columns, partitions, users, data types within the Oracle database system. \u00a0Let\u2019s compare and contrast how this is done on Couchbase.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-3-database-objects\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-28T07:49:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T00:32:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Keshav Murthy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rkeshavmurthy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Keshav Murthy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/\"},\"author\":{\"name\":\"Keshav Murthy\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\"},\"headline\":\"Couchbase for Oracle developers &#8212; Part 3 : Database Objects\",\"datePublished\":\"2018-01-28T07:49:42+00:00\",\"dateModified\":\"2025-06-14T00:32:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/\"},\"wordCount\":1004,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png\",\"keywords\":[\"database\",\"migration\",\"oracle\"],\"articleSection\":[\"Application Design\",\"Data Modeling\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/\",\"name\":\"Couchbase for Oracle developers - Part 3 : Database Objects - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png\",\"datePublished\":\"2018-01-28T07:49:42+00:00\",\"dateModified\":\"2025-06-14T00:32:51+00:00\",\"description\":\"Oracle DBAs work with clusters, machines, storage systems, disks, etc. Oracle developers and their applications work with databases, tables, rows, columns, partitions, users, data types within the Oracle database system. \u00a0Let\u2019s compare and contrast how this is done on Couchbase.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png\",\"width\":1200,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase for Oracle developers &#8212; Part 3 : Database Objects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\",\"name\":\"Keshav Murthy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"caption\":\"Keshav Murthy\"},\"description\":\"Keshav Murthy is a Vice President at Couchbase R&amp;D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design &amp; development. He lead the SQL and NoSQL R&amp;D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, holds eleven US patents and has four US patents pending.\",\"sameAs\":[\"https:\/\/blog.planetnosql.com\/\",\"https:\/\/x.com\/rkeshavmurthy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/keshav-murthy\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase for Oracle developers - Part 3 : Database Objects - The Couchbase Blog","description":"Os DBAs Oracle trabalham com clusters, m\u00e1quinas, sistemas de armazenamento, discos etc. Os desenvolvedores Oracle e seus aplicativos trabalham com bancos de dados, tabelas, linhas, colunas, parti\u00e7\u00f5es, usu\u00e1rios e tipos de dados no sistema de banco de dados Oracle.  Vamos comparar e contrastar como isso \u00e9 feito no Couchbase.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-3-database-objects\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase for Oracle developers -- Part 3 : Database Objects","og_description":"Oracle DBAs work with clusters, machines, storage systems, disks, etc. Oracle developers and their applications work with databases, tables, rows, columns, partitions, users, data types within the Oracle database system. \u00a0Let\u2019s compare and contrast how this is done on Couchbase.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-oracle-developers-part-3-database-objects\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-01-28T07:49:42+00:00","article_modified_time":"2025-06-14T00:32:51+00:00","og_image":[{"width":1200,"height":1200,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png","type":"image\/png"}],"author":"Keshav Murthy","twitter_card":"summary_large_image","twitter_creator":"@rkeshavmurthy","twitter_misc":{"Written by":"Keshav Murthy","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/"},"author":{"name":"Keshav Murthy","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636"},"headline":"Couchbase for Oracle developers &#8212; Part 3 : Database Objects","datePublished":"2018-01-28T07:49:42+00:00","dateModified":"2025-06-14T00:32:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/"},"wordCount":1004,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png","keywords":["database","migration","oracle"],"articleSection":["Application Design","Data Modeling","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/","name":"Couchbase for Oracle developers - Part 3 : Database Objects - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png","datePublished":"2018-01-28T07:49:42+00:00","dateModified":"2025-06-14T00:32:51+00:00","description":"Os DBAs Oracle trabalham com clusters, m\u00e1quinas, sistemas de armazenamento, discos etc. Os desenvolvedores Oracle e seus aplicativos trabalham com bancos de dados, tabelas, linhas, colunas, parti\u00e7\u00f5es, usu\u00e1rios e tipos de dados no sistema de banco de dados Oracle.  Vamos comparar e contrastar como isso \u00e9 feito no Couchbase.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/01\/online-shop-big1.png","width":1200,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-oracle-developers-part-3-database-objects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase for Oracle developers &#8212; Part 3 : Database Objects"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636","name":"Keshav Murthy","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4","url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","caption":"Keshav Murthy"},"description":"Keshav Murthy \u00e9 vice-presidente de P&amp;D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experi\u00eancia em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&amp;D de SQL e NoSQL na IBM Informix. Ele recebeu dois pr\u00eamios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o e Engenharia pela Universidade de Mysore, \u00cdndia, det\u00e9m onze patentes nos EUA e tem quatro patentes pendentes nos EUA.","sameAs":["https:\/\/blog.planetnosql.com\/","https:\/\/x.com\/rkeshavmurthy"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/keshav-murthy\/"}]}},"authors":[{"term_id":8929,"user_id":55,"is_guest":0,"slug":"keshav-murthy","display_name":"Keshav Murthy","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","author_category":"","last_name":"Murthy","first_name":"Keshav","job_title":"","user_url":"https:\/\/blog.planetnosql.com\/","description":"Keshav Murthy \u00e9 vice-presidente de P&amp;D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experi\u00eancia em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&amp;D de SQL e NoSQL na IBM Informix. Recebeu dois pr\u00eamios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o e Engenharia pela Universidade de Mysore, \u00cdndia, det\u00e9m dez patentes nos EUA e tem tr\u00eas patentes pendentes nos EUA."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=4521"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4521\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13997"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=4521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=4521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=4521"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=4521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}