以学校数据模型为例,掌握在DAS下使用GaussDB

news/2024/11/30 14:41:43/文章来源:https://www.cnblogs.com/xiaoxu0211/p/18567811

@

目录
  • 题目
  • 具体操作
    • 一、表的创建
    • 二、表数据的插入
    • 三、数据查询

目的: 这里以学校数据库模型为例,介绍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://carrier.huawei.com/cn/products/it-new/cloud/dws

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/840895.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RGB565小工具

RGB565颜色显示和编码 使用PySide6, UI使用Qt designer生成。 在项目中驱动显示屏,使用的是RGB565的颜色格式。 有些在线的工具,可以进行RGB565颜色的选取和复制颜色值编码,但是不能实时查看字符和背景的颜色效果。 于是做了个小工具,可单独选择RGB三个颜色通道的值,指定字…

GaussDB SQL基础语法示例-常见的条件表达式

一、前言 SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。 本系列将以《云数据库GaussDB—SQL参考》为主线进行介绍。 二、条件表达式的概念及GaussDB中的常见条件表达式 条件表达式是指在数据库中进行SQL语句查询时,…

GaussDB SQL基础语法示例-数组表达式

一、前言 SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。 本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。 欢迎使用GaussDB数据库数组表达式。在本文中,我们将介绍GaussDB数据库中数组表达式的概…

周蕊、王聪的第三次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc这个作业的目标 以小组为单位,完成一个电梯演讲作业姓名-学号 周蕊-2022329301039、王聪2022329301036视频链接: http://xhslink.com/a/EbZ16dimtNp0 1.产品介绍 1.1. 产品简介实验室是高校开展教学科研和自主…

Vulnhub Hackademic:RTB1

0x01:端口扫描 主机发现 nmap -sn 192.168.231.0/24主机ip:192.168.231.136 全端口扫描 nmap -sT -sC -sV -O -p- 192.168.231.136 -oA /root/scan扫描到两个端口,22ssh端口关闭,80http端口开放,其中http跑的是apache服务器 UDP扫描 nmap -sU --min-rate 10000 -p- 192.16…

支持无限加载的js图片画廊插件

在线演示 下载natural-gallery-js是一款支持无限加载的js图片画廊插件。该js图片画廊支持图片的懒加载,可以对图片进行搜索,分类,还可以以轮播图的方式来展示和切换图片。使用方法 在页面中引入下面的CSS和js文件。<link rel="stylesheet" href="../dis…

[豪の学习笔记] 操作系统#001

操作系统的概念、功能、特征、发展和分类,终端和异常,系统调用,操作系统体系结构,操作系统引导,虚拟机1.1.1 - 操作系统的概念、功能 操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用…

Vue Devtools的下载和安装

1.下载 下载地址:https://github.com/vuejs/vue-devtools/tree/v5.1.1 下载下来zip包。解压到指定文件夹 2.安装依赖 在这个目录,执行npm install命令进行依赖安装 4. 修改配置 打开解压目录vue-devtools-master下的shells/Chrome/manifest.json文件,将代码"persistent…

边缘计算与MEC浅谈

边缘计算是在靠近物或数据源头的网络边缘侧,通过融合网络、计算、存储、应用核心能力的分布式开放平台,就近提供边缘智能服务。简单点讲,边缘计算是将从终端采集到的数据,直接在靠近数据产生的本地设备或网络中进行分析,无需再将数据传输至云端数据处理中心。本文分享自天…

mybatis的拓展-----mybatis的内置参数和OGNL表达式的使用

mybatis的两个内置参数 1,_parameter 代表整个参数 单个参数,_parameter 就是这个参数多个参数 会被封装成一个map,_parameter就是代表这个map 例如接口中有一个方法 public List<Employee> getEmpsTestInnerParameter(Employee employee); _parameter就代表employee…

你的活动策划效率低?试试这个方法!

营销人的日常痛点:活动策划究竟有多难?任务繁杂,难以理清优先级一场成功的活动通常包含数十甚至上百个任务。活动前期要筹备物料、协调场地,中期要执行推广方案,后期还要跟进数据复盘。任务堆积如山,往往让人无从下手。协作难度大,信息容易丢失活动策划需要跨部门、跨团…

打开电脑后一直弹出“交互式检测服务”窗口

既然也mysql有关,服务中找到上图exe所对应的服务,右键=》属性 原来选中了“允许服务与桌面交互”,取消上图的勾,重启MYSQL82服务。在停止服务时,就发现弹出的交互式服务检测提示窗自己消失了。至此第一张图的消息就不再弹出。