[GaussDB] 通过公网连接GaussDB数据库实例

105 阅读9分钟

@[toc] 目的: 这里以学校数据库模型为例,介绍GaussDB数据库、表等常见操作,以及SQL语法使用的介绍。

题目

假设A市B学校为了加强对学校的管理,引入了华为GaussDB数据库。 在B学校里,主要涉及的对象有学生、教师、班级、院系和课程。本实验假设在B学校数据库中,教师会教授课程,学生会选修课程,院系会聘请教师,班级会组成院系,学生会组成班级。

其关系模型如下:

对于B校中的5个对象,分别建立属于每个对象的属性集合,具体属性描述如下:

l 学生(学号,姓名,性别,出生日期,入学日期,家庭住址)

l 教师(教师编号,教师姓名,职称,性别,年龄,入职日期)

l 班级(班级编号,班级名称,班主任)

l 院系(系编号,系名称,系主任)

l 课程(课程编号,课程名称,课程类型,学分)

上述属性对应的编号为:

l student(std_id,std_name,std_sex,std_birth,std_in,std_address)

l teacher(tec_id,tec_name,tec_job,tec_sex,tec_age,tec_in)

l class(cla_id,cla_name,cla_teacher)

l school_department(depart_id,depart_name,depart_teacher)

l course(cor_id,cor_name,cor_type,credit)

对象之间的关系:

l 一位学生可以选择多门课程,一门课程可被多名学生选择

l 一位老师可以选择多门课程,一门课程可被多名老师教授

l 一个院系可由多个班级组成

l 一个院系可聘请多名老师

l 一个班级可由多名学生组成

看到这里是不是觉得很麻烦,不过给出了E-R图可供理解。 在这里插入图片描述

具体操作

一、表的创建

    根据B学校的场景描述,本实验分别针对学生(student),教师(teacher),班级(class),院系(school_department)和课程(course)创建相应的表。具体的实验步骤如下所示:

step1:创建学生信息表。

DROP TABLE IF EXISTS student;

 // 创建student表:

CREATE TABLE student
(
        std_id INT PRIMARY KEY,
        std_name NCHAR(20) NOT NULL,
        std_sex NCHAR(6),
        std_birth DATE,
        std_in DATE NOT NULL,
        std_address VARCHAR(100)
);

在这里插入图片描述

step2:创建教师信息表。

DROP TABLE IF EXISTS teacher;
CREATE TABLE teacher
(
        tec_id INT PRIMARY KEY,
        tec_name CHAR(20) NOT NULL,
        tec_job CHAR(15),
        tec_sex CHAR(6),
        tec_age INT,
        tec_in DATE NOT NULL
);

在这里插入图片描述

step3:创建班级信息表。

DROP TABLE IF EXISTS class;
CREATE TABLE class
(
        cla_id INT PRIMARY KEY,
        cla_name CHAR(20) NOT NULL,
        cla_teacher INT NOT NULL
);

在这里插入图片描述

step4:创建院系信息表。

DROP TABLE IF EXISTS school_department;
CREATE TABLE school_department
(
        depart_id INT PRIMARY KEY,
        depart_name NCHAR(30) NOT NULL,
        depart_teacher INT NOT NULL
);

在这里插入图片描述

step5:创建课程信息表。

DROP TABLE IF EXISTS course;
CREATE TABLE course
(
        cor_id INT PRIMARY KEY,
        cor_name NCHAR(30) NOT NULL,
        cor_type NCHAR(20),
        credit numeric
);

在这里插入图片描述

二、表数据的插入

向student表中插入数据。
INSERT INTO student(std_id,std_name,std_sex,std_birth,std_in,std_address) 
VALUES (1,'张一','男','1993-01-01','2011-09-01','江苏省南京市雨花台区');

实际上这里需要插入很多数据,笔者为了不显得文章臃肿,就只用了一条,下面也是类似。

向teacher表中插入数据。
INSERT INTO teacher(tec_id,tec_name,tec_job,tec_sex,tec_age,tec_in) 
VALUES (1,'王五','讲师','男',35,'2009-07-01');
class表插入数据。
INSERT INTO class(cla_id,cla_name,cla_teacher) VALUES (1,'计算机',1);
向school_department表插入数据。

INSERT INTO school_department(depart_id,depart_name,depart_teacher) VALUES (1,'计算机学院',2); 向course表插入数据。

INSERT INTO course(cor_id,cor_name,cor_type,credit) VALUES (1,'数据库','选修',3);

三、数据查询

查询B校课程信息表的所有信息。
SELECT * from course;
例:在教师信息表中查询教师编号大于45的老师的入学年份。(条件查询)
SELECT tec_id, tec_in FROM teacher WHERE tec_id>45;

登录后复制 修改/更新课程信息表数据。

例:

UPDATE course SET cor_name='python程序设计',cor_type='必修',credit=3.5 WHERE cor_id=1;
SELECT * FROM course WHERE cor_id=1;

赶紧来试试吧!! 作者:kk

详情查看:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html @[toc]

本实验概览图 在这里插入图片描述

1. 通过公网连接GaussDB

1.1 实验介绍

1.1.1 关于本实验

本实验主要描述如何用Data Studio通过公网连接GaussDB实例。

1.1.2 实验目的

掌握使用Data Studio通过公网来连接GaussDB数据库实例。

1.2 购买GaussDB数据库(可选)

说明:如果已经购买好了GaussDB数据库可以跳过此章节,直接进入2.3章节,如果没有购买请参考GaussDB 数据库实验环境搭建指导购买GaussDB数据库进行购买。

1.3 公网IP绑定

1.3.1 购买弹性公网IP

步骤 1选择弹性公网IP服务。 在服务列表中选择弹性公网IP。单击进入弹性公网IP控制台。 在这里插入图片描述 步骤 2购买弹性公网IP。 单击购买,进入购买界面。 在这里插入图片描述 步骤 3配置弹性公网IP。 配置弹性公网IP如下(区域选择需与数据库实例所在区域一致): 在这里插入图片描述

单击“立即购买”。 在确认购买界面,再次确认信息无误。单击提交。 在这里插入图片描述 步骤 4购买成功。 等待一会,弹性公网IP购买成功。

在这里插入图片描述

1.3.2 绑定GaussDB数据库

步骤 1从服务列表中选择”云数据库 GaussDB”,进入云数据库GaussDB控制台,具体如下: 在这里插入图片描述

在控制台选择GaussDB进入如下页面,单击实例名称,进入基本信息页面。 在这里插入图片描述

下拉到连接信息,单击“绑定”,弹出“绑定弹性公网IP”的窗口。 在这里插入图片描述

在此窗口上选择购买的弹性公网IP地址,然后单击”绑定”。 在这里插入图片描述

绑定成功,请记录下此弹性公网IP,后面连接会用上此IP。 在这里插入图片描述

步骤 2修改安全组(可选)。 默认安全组并未打开8000端口,需要人为开放8000端口。如果已开放则无需操作。 在数据库实例基本信息界面中的连接信息部分中,单击“内网安全组”后面对应的名称。 在这里插入图片描述

在弹出界面中,单击入方向规则,单击添加规则。 在这里插入图片描述

优先级输入1,TCP下方的空白框中输入8000,然后单击确定。 在这里插入图片描述

完成后可以看到规则中多了一条8000端口的规则。 在这里插入图片描述

步骤 3远程连接GaussDB。 可以通过Data Studio完成远程连接GaussDB的连接。 Data Studio是一个集成开发环境(IDE),帮助数据库开发人员便捷地构建应用程序,以图形化界面形式提供数据库关键特性。 数据库开发人员仅需掌握少量的编程知识,即可使用该工具进行数据库对象操作。Data Studio提供丰富多样的特性,例如: 创建和管理数据库对象 执行SQL语句/脚本 编辑和执行PL/SQL语句 图形化查看执行计划和开销 导出表数据等 创建和管理数据库对象包括: 数据库 模式 函数 过程 表 序列 索引 视图 表空间 同义词 Data Studio还提供SQL助手用于在“SQL终端”和“PL/SQLViewer”中执行各种查询/过程/函数。 下载工具包:获取参考地址: opengauss.org/zh/download… 选择最新版本。将工具包使用文档下载到本地。 在这里插入图片描述

下载后的文件名为:DataStudio_win_64.zip 将下载的软件包(DataStudio_win_64.zip)解压到自己指定的位置,比如解压至D盘,具体如下: 在这里插入图片描述

注:Data Studio的安装需要电脑安装JDK,如果电脑没有安装JDK,请按照附件一的步骤安装和部署JDK。

定位并双击Data Studio.exe,启动Data Studio客户端,输入相关信息,连接数据库: 注:如果没有弹出窗口,可以在Data Studio工具界面上,单击“文件”下的“新建连接”。 在这里插入图片描述

名称:自定义 主机:绑定数据库服务器的弹性公网IP 端口:8000 数据库:postgres 用户名:准备连接环境步骤中创建的用户 密码:准备连接环境步骤中创建的用户密码 启用SSL:不启用 设置完成后,单击“确定”按钮进行连接,单击“继续”。 在这里插入图片描述

连接成功后界面如下: 在这里插入图片描述

步骤 4使用Data Studio客户端 Data Studio主界面包括:

  1. 主菜单:提供使用Data Studio的基本操作;
  2. 工具栏:提供常用操作入口;
  3. “SQL终端”页签:在该窗口,可以执行SQL语句和函数/过程;
  4. “PL/SQL Viewer”页签:显示函数/过程信息;
  5. 编辑区域用于进行编辑操作;
  6. “调用堆栈”窗格:显示执行栈; 7.“断点“窗格:显示断点信息;
  7. “变量”窗格:显示变量及其变量值;
  8. “SQL助手”页签:显示“SQL终端”和“PL/SQL Viewer”页签中输入信息的建议或参考;
  9. “结果”页签:显示所执行的函数/过程或SQL语句的结果;
  10. “消息”页签:显示进程输出。显示标准输入、标准输出和标准错误;
  11. “对象浏览器”窗格:显示数据库连接的层级树形结构和用户有权访问的相关数据库对象;除公共模式外,所有默认创建的模式均分组在“系统模式”下,用户模式分组在相应数据库的“用户模式”下;
  12. “最小化窗口窗格”:用于打开“调用堆栈”和“变量”窗格。该窗格仅在“调用堆栈”、“变量”窗格中的一个或多个窗格最小化时显示。
  13. 搜索工具栏:用于在“对象浏览器”窗格中搜索对象。 有些项不可见,除非触发特定功能。下图以openGauss界面为例说明: 在这里插入图片描述

2 附录一:安装和配置JDK

2.1 下载并安装JDK

步骤 1下载JDK。选择最新版本即可。 www.oracle.com/java/techno… 在这里插入图片描述

步骤 2双击jdk-8u261-windows-x64.exe进行安装。 默认设置即可,出现安装进度。

如下显示表示安装成功: 在这里插入图片描述

步骤 3查看安装目录。 在这里插入图片描述

2.2 配置JDK环境变量

步骤 1右击“此电脑”选择“属性”,单击“高级系统设置”。

在这里插入图片描述

步骤 2单击“环境变量”,新建系统变量“JAVA_HOME”,输入JDK安装目录。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

“C:\Program Files\Java\jdk1.8.0_261”为JDK安装目录。 步骤 3编辑系统变量“path”。 在这里插入图片描述

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)。 步骤 4新建系统变量“CLASSPATH”变量,输入“.”即可。 在这里插入图片描述

步骤 5系统变量配置完毕,查询检验是否配置成功,运行cmd 输入java -version(java和 -version之间有空格)。如下所示,显示版本信息,则说明安装和配置成功。

C:\Users\xxxxx>java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

通过公网连接GaussDB实验结束。

详情查看:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html