当前位置: 首页 > news >正文

麓谷做网站的公司wordpress 嵌套评论

麓谷做网站的公司,wordpress 嵌套评论,如何给网站加cdn,酒店管理专业建设规划数据库管理187期 2024-05-10 数据库管理-第187期 23ai:怎么用SQL创建图#xff08;20240510#xff09;1 安装PGX1.1 数据库配置对应用户1.2 使用RPM包安装Graph Server1.3 安装Oracle Graph Client1.4 访问PGX页面 2 SQL Property Graph2.1 创建SQL属性图2.2 关于点和边图元… 数据库管理187期 2024-05-10 数据库管理-第187期 23ai:怎么用SQL创建图202405101 安装PGX1.1 数据库配置对应用户1.2 使用RPM包安装Graph Server1.3 安装Oracle Graph Client1.4 访问PGX页面 2 SQL Property Graph2.1 创建SQL属性图2.2 关于点和边图元素表2.3 关于点和边表建2.4 关于标签LABEL和属性PROPERTY2.5 使用Graph Option来创建SQL属性图2.5.1 使用OPTION来制定图的MODE2.5.2 使用OPTION来允许/禁止不同属性类型共享属性名称 2.6 相关权限2.7 Revalidating and Drop2.8 JSON支持 3 SQL Graph查询总结 数据库管理-第187期 23ai:怎么用SQL创建图20240510 作者胖头鱼的鱼缸尹海文 Oracle ACE Associate: DatabaseOracle与MySQL PostgreSQL ACE Partner 10年数据库行业经验现主要从事数据库服务工作 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP、认证技术专家、年度墨力之星ITPUB认证专家、专家百人团成员OCM讲师PolarDB开源社区技术顾问OceanBase观察团成员 圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号非著名社恐社交恐怖分子 公众号胖头鱼的鱼缸CSDN胖头鱼的鱼缸尹海文墨天轮胖头鱼的鱼缸ITPUByhw1809。 除授权转载并标明出处外均为“非法”抄袭 1 安装PGX 安装Graph ServerPGX本次部署版本为24.2.0需要到这个网址去下载 https://edelivery.oracle.com/ 这里下载最新的Oracle Graph Server and Client 24.2.0全部加起来有点大: 重命名一下并解压看看 还需要单独部署一台OracleLinux 8的主机本次操作的两台机器如下 主机名IP地址操作系统角色23ai-free10.10.10.230OracleLinux 9.3DB 23ai Freepgx10.10.10.80OracleLinux 8.9PGX App 1.1 数据库配置对应用户 这里继续使用之前用于JSON关系二元性视图实验的用户ec密码为ec已授予connect和resource权限 --这两个role权限是23ai新增之前版本需要手工创建https://docs.oracle.com/en/database/oracle/property-graph/24.2/spgdg/user-authentication-and-authorization.html GRANT GRAPH_DEVELOPER TO ec; GRANT GRAPH_ADMINISTRATOR to ec;为了偷懒把两个权限都赋予了。 1.2 使用RPM包安装Graph Server dnf -y install libgfortran # install Oracle JDK 11 rpm -i jdk-11.0.23_linux-x64_bin.rpm# install graph rpm -i oracle-graph-24.2.0.x86_64.rpm# add operating system users allowed to use the server installation to the operating system group oraclegraph # usermod -a -G oraclegraph graphuser useradd graph usermod -a -G oraclegraph graph passwd graph# As graphuser, configure the server by modifying the files /etc/oracle/graph/pgx.conf vim /etc/oracle/graph/pgx.conf # ... # pgx_realm: { # implementation: oracle.pg.identity.DatabaseRealm, # options: { # jdbc_url: jdbc:oracle:thin:myhost:1521/myservice, # token_expiration_seconds: 3600, # ... ... pgx_realm: {implementation: oracle.pg.identity.DatabaseRealm,options: {jdbc_url: jdbc:oracle:thin:10.10.10.230:1521/freepdb1,token_expiration_seconds: 3600, ...# disable tls vim /etc/oracle/graph/server.conf {port: 7007,enable_tls: false,enable_client_authentication: false,working_dir: /opt/oracle/graph/pgx/tmp_data }systemctl start pgx1.3 安装Oracle Graph Client su - graph unzip Oracle\ Graph\ Client\ 24.2.0.zip unzip oracle-graph-client-24.2.0.zip用过下面的命令可以连接到PGX cd oracle-graph-client-24.2.0/bin/ ./opg4j --base_url https://10.10.10.80:7007 --username ec也可以通过PGX安装包含的client进行连接 /opt/oracle/graph/bin/opg4j --base_url http://10.10.10.80:7007 --username e1.4 访问PGX页面 从Oracle Graph Server 23.3开始使用RPM安装的PGX是包含了图形界面可以不用部署Oracle Graph Webapps相关部署可以参看对应官方文档https://docs.oracle.com/en/database/oracle/property-graph/24.2/spgdg/deploying-oracle-graph-server-web-server.html现在可以通过10.10.10.80:7007/ui来访问PGX 输入数据库对应账户名/密码ec/ec即可访问 2 SQL Property Graph 以在任何基于SQL的接口如SQLDeveloper、SQLPLUS或SQLcl中使用SQL属性图也可以从使用JDBC的Java程序中使用。 从已经schema中存在的数据库对象创建一个SQL属性图比如 – 表包含创建SQL属性图的限制中列出的一些例外 – 物化视图 – 外部表 – 任何上面数据库对象的同义词为SQL属性图创建同义词Revalidate一个属性图在一个SQL属性图上运行图模式匹配查询删除一个SQL属性图 2.1 创建SQL属性图 使用CREATE PROPERTY GRAPH DDL语句可以直接在Oracle数据库中创建属性图对象。 这里我们用一个官方文档的示例来演示创建SQL属性图首先需要创建示例数据 CREATE TABLE university (id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),name VARCHAR2(10),CONSTRAINT u_pk PRIMARY KEY (id));INSERT INTO university (name) VALUES (ABC); INSERT INTO university (name) VALUES (XYZ);CREATE TABLE persons (person_id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENTBY 1),name VARCHAR2(10),birthdate DATE,height FLOAT DEFAULT ON NULL 0,hr_data JSON,CONSTRAINT person_pk PRIMARY KEY (person_id));INSERT INTO persons (name, height, birthdate, hr_data)VALUES (John, 1.80, to_date(13/06/1963, DD/MM/YYYY), {department:IT,role:Software Developer});INSERT INTO persons (name, height, birthdate, hr_data)VALUES (Mary, 1.65, to_date(25/09/1982, DD/MM/YYYY), {department:HR,role:HR Manager});INSERT INTO persons (name, height, birthdate, hr_data)VALUES (Bob, 1.75, to_date(11/03/1966, DD/MM/YYYY), {department:IT,role:Technical Consultant});INSERT INTO persons (name, height, birthdate, hr_data)VALUES (Alice, 1.70, to_date(01/02/1987, DD/MM/YYYY), {department:HR,role:HR Assistant});CREATE TABLE student_of (s_id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),s_univ_id NUMBER,s_person_id NUMBER,subject VARCHAR2(10),CONSTRAINT stud_pk PRIMARY KEY (s_id),CONSTRAINT stud_fk_person FOREIGN KEY (s_person_id) REFERENCES persons(person_id),CONSTRAINT stud_fk_univ FOREIGN KEY (s_univ_id) REFERENCES university(id));INSERT INTO student_of(s_univ_id, s_person_id,subject) VALUES (1,1,Arts); INSERT INTO student_of(s_univ_id, s_person_id,subject) VALUES (1,3,Music); INSERT INTO student_of(s_univ_id, s_person_id,subject) VALUES (2,2,Math); INSERT INTO student_of(s_univ_id, s_person_id,subject) VALUES (2,4,Science);CREATE TABLE friends (friendship_id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),person_a NUMBER,person_b NUMBER,meeting_date DATE,CONSTRAINT fk_person_a_id FOREIGN KEY (person_a) REFERENCES persons(person_id),CONSTRAINT fk_person_b_id FOREIGN KEY (person_b) REFERENCES persons(person_id),CONSTRAINT fs_pk PRIMARY KEY (friendship_id) );INSERT INTO friends (person_a, person_b, meeting_date) VALUES (1, 3, to_date(01/09/2000, DD/MM/YYYY)); INSERT INTO friends (person_a, person_b, meeting_date) VALUES (2, 4, to_date(19/09/2000, DD/MM/YYYY)); INSERT INTO friends (person_a, person_b, meeting_date) VALUES (2, 1, to_date(19/09/2000, DD/MM/YYYY)); INSERT INTO friends (person_a, person_b, meeting_date) VALUES (3, 2, to_date(10/07/2001, DD/MM/YYYY));commit;这里创建了四张表university表存储大学名称信息person表存储人员的信息student_of表存储大学、人员以及专业关联的信息friends表则存储包含第一次见面信息的人与人之间的关联信息。这里可以注意到每张表都有主键后两张作为关联信息表的非主键列与前两张基础信息表的主键是有外键约束关系的。我们依托这四张表创建下面的SQL属性图 语句如下 CREATE PROPERTY GRAPH students_graphVERTEX TABLES (persons KEY (person_id)LABEL personPROPERTIES (person_id, name, birthdate AS dob)LABEL person_htPROPERTIES (height),university KEY (id))EDGE TABLES (friendsKEY (friendship_id)SOURCE KEY (person_a) REFERENCES persons(person_id)DESTINATION KEY (person_b) REFERENCES persons(person_id)PROPERTIES (friendship_id, meeting_date),student_ofSOURCE KEY (s_person_id) REFERENCES persons(person_id)DESTINATION KEY (s_univ_id) REFERENCES university(id)PROPERTIES (subject));在执行时前面的示例创建了一个SQL属性图对象该对象使用schema中的表来定义其图元素表。请注意创建新的SQL属性图对象只会存储属性图元数据并且不会将数据从底层数据库对象复制到图元素表中。这意味着在查询SQL属性图时所有的图查询都是对数据库中的当前图数据执行的。如果您有足够的权限还可以指定另一个schema来包含SQL属性图。 示例中的图定义创建了一个图该图包括 两个点图元素表 person表有一个唯一键person_id与两个标签LEBEL关联 person这个标签将person_id、name和birthdate作为属性公开person_ht这个标签仅把height作为属性公开 university这个表的标签是隐式推断的默认情况下基础数据库表的所有可见列都显示为属性。 两个边图元素表 friends: 这个边表引用person作为源点表和目标点表的基础数据库表。边表的源键和目标键person_a和person_b分别对应于源点表和目标点表的唯一键。边表的标签是根据图元素表的名称在本例中为friends自动推断的并将friendship_id和meeting_date作为属性公开。student_of这个边表分别引用person和university作为源点表和目标点表的基础数据库表。边表的源键字和目标键字s_person_id和s_univ_id分别对应于源点表和目的点表的唯一键。边缘表的标签是根据图形元素表的名称在本例中为student_of自动推断的并将subject公开为属性。 2.2 关于点和边图元素表 从底层数据库对象定义的SQL属性图的点和边存储在图元素表中。图元素表可以试点表也可以是边表。 Vertex graph element table点图元素表 一个点图元素表通过VERTEX TABLES子句定义点表中的每一行对应图中的一个点一个点元素表名称独立于底层数据库对象名称默认情况下点图元素表的名称和底层数据库对象名称一致点元素表名称在图中必须是唯一的。为了可以是源自于同一个底层数据库对象可以在SQL属性图中定义为多个图形元素表必须使用AS子句指定多个元素表的名称 Edge graph element table边图元素表 一个边图元素表通过EDGE TABLES子句定义它使用引用各个点表的source和destination关键字指定源点表和目标点表之间的直接关系边表中的每一行对应图中的一个边一个边元素表名称独立于底层数据库对象名称默认情况下边图元素表的名称和底层数据库对象名称一致边素表名称在图中必须是唯一的。一个边表名字不能和点表和其他边表名称一致 2.3 关于点和边表建 在SQL属性图中的每个点表和边表都必须有一个键用以标识SQL属性图中一个唯一的点或一个边。键是由底层表中的一列或多列定义的。基于从底层表的一个现有主键或唯一约束来隐式推断这个键、键是唯一的。 然而需要注意的是使用唯一约束的键列需要用ENFORCED MODE来创建图否则使用TRUSTED MODE来使用没有唯一约束的键列。 点和边表的键可以使用下面任意的内建的数据类型列来定义 VARCHAR2NVARCHAR2NUMBERBINARY_FLOATBINARY_DOUBLECHARNCHARDATEINTERVAL (both YEAR TO MONTH and DAY TO SECOND)TIMESTAMP 注意TIMESTAMP WITH TIME ZONE是不被支持的。 Vertex Table Key点表键 默认情况下点表的键自动从底层数据库对象的一个单一的主键或者唯一键约束定义。如果二者同时存在则使用主键约束优先于唯一键约束如果点表的键是自动基于一个单一的唯一键推断的那么这个列除了UNIQUE以外也必须是NOT NULL如果底层数据库对象没有包含唯一约束来强制控制数据唯一性那么必须明确在VERTEX TABLES子句中显式定义的KEY的子子句来确定点表定义唯一键的列。注意这个列的名称必须与底层数据库对象的名称相匹配复合点表键也是支持的 Edge Table Key边表键默认情况下边表的键自动从底层数据库对象的一个单一的主键或者唯一键约束定义。如果二者同时存在则使用主键约束优先于唯一键约束如果边表的键是自动基于一个单一的唯一键推断的那么这个列除了UNIQUE以外也必须是NOT NULL如果底层数据库对象没有包含唯一约束来控强制制数据唯一性那么必须明确在EDGE TABLES子句中显式定义的KEY的子子句来确定点表定义唯一键的列。注意这个列的名称必须与底层数据库对象的名称相匹配默认情况下源和目标表键自动从边表和底层源和目标表之间的外键约束分别获取然而在一下任意情况下必须在源和目标点表中明确指定KEY子子句 在边表和关联点表之间没有外键约束在边表和关联点表之间有多个外键约束边表以及它的源和目标点表的底层数据库对象为物化视图或外部表 2.4 关于标签LABEL和属性PROPERTY 标签可以与一个或多个图元素表相关联并且它们丰富了图定义。标签可以定义为具有或不具有属性。可以选择为图中的点表和边表定义LABEL和PROPERTIES。如果未指定则会自动为图形元素表分配一个带有图元素表名称的标签并且所有可见列都显示为属性使用列名作为属性名称。 LABEL标签 默认情况下点表和边表自动使用各自的元素表名称分配标签DEFAULT LABEL子子句也可以用于显式的应用上一条规则可以使用LABEL子子句显示的给点和边图元素表指定一个新的标签名称一个图元素表可以有多个标签同一个标签可以被多个图元素表共享 在慢满足一下条件的情况下一个标签可以被不止一个图元素表使用shared label 共享此标签的所有图元素表都声明相同的一组属性名称。请注意属性顺序在标签定义中并不重要。由同一属性名称公开的不同列或值表达式具有union compatible类型。 Properties属性 默认情况下在没有定义标签或在属性图定义时使用DEFAULT LABEL子子句点表和边表的所有可见列会自动公开为属性使用任意Oracle内建数据类型的列都可以作为SQL属性图中标签的属性被公开。包含虚拟列、JSON、CLOB和BLOB。 但是下面的不被支持 XMLType和SDO_GEOMETRY在XMLType列上存储为二进制XML的SQL/XML值表达式和在SDO_GEOMETRY object数据类型列使用SDO_GEOMETRY内建函数返回的是属性支持类型的值则是允许的。不支持任何通用对象数据类型和用户定义的数据类型及其对应的SQL运算符值表达式。ANYTYPE 在SQL属性图创建时点和边属性的数据类型确定如下 与不同标签关联的不同属性与基础数据库列有相同的数据类型来自不同标签的具有相同名称的属性与基础数据库列具有相同的数据类型。然而你必须在创建SQL属性图的时候使用ALLOW MIXED PROPERTY TYPES选项来自同一标签的具有相同名称的属性将具有UNION ALL兼容类型的基础数据库列也必须在创建SQL属性图的时候使用ALLOW MIXED PROPERTY TYPES选项 如果要显式定义标签的点或边属性则支持以下属性声明 PROPERTIES [ARE] ALL COLUMNS将图元素表的所有可见列作为标签属性公开。但是如果在创建SQL属性图之后在源数据库对象中添加或删除了任何列则这些列将不会反映在图上PROPERTIES [ARE] ALL COLUMNS EXCEPT(column_names_list)将图元素表的所有可见列作为标签属性公开但显式列出的列除外PROPERTIES(list_of_column_names)仅将图元素表中指定的的列作为标签属性公开。属性名称默认为列名PROPERTIES(column_name AS property_name,…)和上一条一样但是AS property_name附加到column_name然后property_name用作属性名称PROPERTIES(column_expressions AS property_name,…)声明一个属性该属性是列上的表达式。在这种情况下AS子句是强制性的。值表达式可以是在标量数据类型列上定义的SQL运算符表达式也可以是JSON表达式。NO PROPERTIES没有列在标签中公开 伪列Pseudo-column不能作为标签属性公开这里我怀疑官方文档有误打成了Peudo-column 2.5 使用Graph Option来创建SQL属性图 您可以使用图选项Graph Option来控制SQL属性图形在创建时的行为。 可以使用options子句在CREATE PROPERTY GRAPH DDL语句的末尾指定图选项。可以根据需要使用MODE或MIXED PROPERTY TYPES选项也可以同时使用这两种选项。 2.5.1 使用OPTION来制定图的MODE 可以下面的图选项在创建SQL属性图的时候指定图的MODE ENFORCED MODE这确保了在底层数据库表上存在对唯一键约束的依赖关系。如果满足以下任何条件在创建SQL属性图时使用这个模式CREATE PROPERTY GRAPH语句将引发错误 图元素表指定的点或边表键既不是主键也不是NOT NULL的唯一键没有明确的图元素表的点或边表键并且系统无法系统识别默认的点或边表键比如在底层数据库表中没有单独的主键或单独的NOT NULL唯一约束的列对于指定的边的源键和对应的源点键或者对于指定边的目标键和对应目标的点键在底层表之间不存在对应的外键边表在没有源或目标明确的键系统无法隐式推断键因为边表和引用的源或目标点表之间没有单个外键约束 TRUSTED MODE (默认)使用TRUSTED MODE时不依赖于底层数据库表上的唯一键约束。因此前面的例子在TRUSTED MODE下运行时不会抛出任何错误。这意味着如果选择使用此选项则必须保证每个图形元素表上主键的唯一性以及边表及其源表和目标表之间的有效外键引用。否则图查询结果可能不正确因为没有达到预期的保证。 2.5.2 使用OPTION来允许/禁止不同属性类型共享属性名称 可以使用下面的值来指定MIXED PROPERTY TYPES选项 ALLOW MIXED PROPERTY TYPES这个值确保了 如果两个拥有相同名称的属性属于不同标签那么它们可以有完全不同的类型如果在共享标签内共享属性名称则它们应该是所有所有可兼容的类型 比如FLOAT和VARCHAR就不兼容而FLAT和BINARY_DOUBLE则是兼容的 DISALLOW MIXED PROPERTY TYPES (默认)这确保了具有相同名称的属性应严格为相同的数据类型。这适用于所有标签无论它们与单个或多个图元素表相关联。 2.6 相关权限 这里直接贴出截图 2.7 Revalidating and Drop ALTER PROPERTY GRAPH graph_name COMPILE; DROP PROPERTY GRAPH graph_name;2.8 JSON支持 SQL属性图是支持JSON数据类型的。 3 SQL Graph查询 这里是根据上一节创建SQL属性图下面是一个范例 SELECT * FROM GRAPH_TABLE (students_graphMATCH(a IS person) -[e IS friends]- (b IS person WHERE b.name Mary)WHERE a.nameBobCOLUMNS (a.name AS person_a, b.name AS person_b) );使用SELECT FROM GRAPH_TABLE语句和MATCH子句 FROM子句包括GRAPH_TABLE运算符该运算符将输入的图名称作为第一个参数MATCH子句表示要在SQL属性图上搜索的图形元素模式点或边模式。它可以选择性地包括元素模式WHERE子句如前面的示例b IS person WHERE b.name‘Mary’查询中所示。此界内WHERE子句可以访问任何匹配的变量WHERE子句这是一个可选的界外WHERE子句。与元素模式WHERE子句类似它可以访问所有图形模式变量并在MATCH子句中表达适用于整个模式的谓词。COLUMNS子句包含查询输出的列 关于更多的pattern模式请查看官方文档https://docs.oracle.com/en/database/oracle/property-graph/24.2/spgdg/sql-graph-queries.html 总结 本期部署了PGX并演示了SQL属性图的创建、重定义、查询等这里需要说明的是PGX上SQL属性图是无法可视化展示的那么用哪种方式可以可视化下期继续分享。 老规矩知道写了些啥。
http://www.hkea.cn/news/14352412/

相关文章:

  • 建站视频佛山做网络优化的公司
  • 公司网站模板源码黄石做网站建设的
  • 桐梓县工程建设交易网站杭州seo外包
  • SEO网站价格西餐甜点网站建设
  • 营销型网站开发流程包括wordpress菜单小图标
  • html网站首页设计买了个网站源码后要怎么用
  • spark怎么做网站数据库专网建设是什么
  • 邯郸市城乡建设管理局网站网站建设图
  • 男生可以做网站编辑工作吗建设网站 无法显示图片
  • 电子商务网站设计规划书电子商务网站规书
  • 论述网站建设的步骤资阳住房和城乡建设厅官方网站
  • 广告素材网站哪个比较好wordpress 亲子主题
  • 郑州做网站公司排名wordpress提示发布失败但是成功
  • 观澜做网站公司网上怎么做销售
  • 爱网之家优化模型
  • wordpress导航栏字体义乌网站建设优化案例
  • 邢台网站设计怎么做鄂尔多斯建设局网站
  • mvc在网站开发中的应用优化设计答案六年级上册
  • 企业网站建设流程步骤做网站如何备案
  • 做公装的什么网站好dz 一步一步教你做网站
  • 网站添加手机站wordpress手机图片站
  • 网站开发必须要要掌握的语言网站策划书模板大全
  • 佳木斯网站建设公司网站开发者工具
  • 深圳网站建设公司建设成都精品网站建设
  • 做网站与运营一般多少钱查询网站最新域名
  • 网站的制作视频网站建设是设
  • 网站建设写代码自己怎么创业做网站菠菜什么意思
  • 网站开发赚钱吗 知乎黑龙江网站备案管理局
  • 企业网站搜索引擎拓客哪个是网站建设里面的
  • 贵州网站集约化建设自然志wordpress免费