首页 > 其他分享 >以学校数据模型为例,掌握在DAS下使用GaussDB

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

时间:2024-09-27 14:12:44浏览次数:1  
标签:std cor name 为例 GaussDB tec teacher id 数据模型

@

目录
目的: 这里以学校数据库模型为例,介绍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

标签:std,cor,name,为例,GaussDB,tec,teacher,id,数据模型
From: https://www.cnblogs.com/xiaoxu0211/p/18435618

相关文章

  • 通过公网连接GaussDB数据库实例
    @目录1.通过公网连接GaussDB1.1实验介绍1.1.1关于本实验1.1.2实验目的1.2购买GaussDB数据库(可选)1.3公网IP绑定1.3.1购买弹性公网IP1.3.2绑定GaussDB数据库2附录一:安装和配置JDK2.1下载并安装JDK2.2配置JDK环境变量本实验概览图1.通过公网连接GaussDB1.1实验介绍......
  • 如何通过DAS连接GaussDB
    @目录1实验介绍2实验目的3配置DAS服务4SQL使用入门1实验介绍本实验主要描述如何通过华为云数据管理服务(DataAdminService,简称DAS)来连接华为云GaussDB数据库实例,DAS是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简......
  • 华为GaussDB数据库之Yukon安装与使用
    一、Yukon简介Yukon(禹贡),基于openGauss、PostgreSQL、GaussDB数据库扩展地理空间数据的存储和管理能力,提供专业的GIS(GeographicInformationSystem)功能,赋能传统关系型数据库。Yukon支持二三维一体化的空间数据存储能力:官网地址https://yukon.supermap.io/,此次我们基于华为G......
  • 如何投IEEE论文(Transactions on Cybernetics为例)
    文章目录1.下载对应的论文模板2.进入提交论文信息的界面3.填写论文中必要的信息3.1ArticleType3.2UploadManuscript3.3Title3.4Abstract3.5Authors3.6AuthorDetails3.7MathOrganizations3.8AdditionalInformation3.9FinalReview终审1.下载对应的论......
  • 华为GaussDB数据库(单机版)在ARM环境下的安装指南
    一、软件版本机器配置:8核16G,CPU:HuaweiKunpeng9202.9GHz操作系统:EulerOS2.864bitwithARM数据库版本:GaussDBKernel505.1.0build44f4fa53二、部署流程2.1新建用户①以omm用户为例,添加一个omm用户useraddomm②此时在/home下会有一个omm目录,进入到此目录......
  • 袋鼠云数据资产平台:数据模型标准化建表重构升级
    想要建立一个良好的数据模型,设计时需要优先考虑数据的关系,避免出现数据冗余和不一致的问题,减少数据维护的难度。正是基于这样的需求,袋鼠云数据资产平台中的数据模型提供了一种建表的能力,可以对表名、字段名等信息进行约束,并且支持批量解析模式(根据中文名批量解析字段)与建表语句模式......
  • AS-VJ900实时视频拼接系统产品介绍:多路视频拼接方法和操作(以九路视频9画面拼接成9x1的
    目录一.拼接平台介绍和无缝拼接理论基础1.1拼接平台简单介绍1.2视频无缝拼接理论基础二.多路视频拼接的准备工作2.1视频选择三.拼接步骤3.1视频录入3.2找出公共部分3.3裁剪和完善3.3.1视频裁剪去重3.3.2继续完善3.4继续拼接直至完成四.视频拼接结果显示   ......
  • 量化交易学习日记8-大单净额进阶(张江高科为例)
    说明大单净额是反应主力的动向,这没错,可是,成交额多少算大单?之前写的大单净额功能我自己测试了一下,拿庄股张江高科建仓的阶段举个例子:可以看到,不管是大单净额(门槛是25万)还是全资金流向,流出都是惊人的,可是,建仓阶段不应该是主力进入的过程吗,我对该股进行过长期跟踪,这是一......
  • 如何进行数据清洗?以python和ETL工具为例
    数据清洗是数据分析处理中非常重要的一步,它涉及到识别并处理数据集中的错误或不一致信息,以提高数据质量。数据清洗直接对后续数据处理产生决定性影响,去除重复错误无效的数据能够大大提升数据分析的效率。本文将介绍数据清洗的常用方法和工具,同时以python为例用代码进行数据清洗......
  • 【unity开发】以OPPO手机为例,如何连接安卓设备并调试unity程序
    1.有线调试下面全程以oppo手机为例:1.打开手机开发者模式设置->关于手机->版本信息->狂点版本号直到弹出提示打开开发者模式即可2.打开USB调试打开开发者模式之后在设置->其他设置->开发者选项->USB调试打开即可3.USB数据线连接使用USB数据线连接你的手机和电脑,并确保USB......