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

Guass数据库实验(数据字典设计、交叉表设计)

Assignment 2: Database Design

目录

Assignment 2: Database Design

数据库创建

新建用户bit,并创建数据库模式ass2

使用datastdui以该用户远程登陆

创建学科数据字典相关表

学科门类表

一级学科表

二级学科表

三级学科表

学科变更历史表

插入数据字典数据

插入学科门类数据

插入一级学科数据

插入二级学科数据

插入变更历史数据

创建学生成绩相关表

学生表

课程表

成绩表

插入数据:

问题解决

编码长度改变

在变更历史表中记录长度变更

更新相关学科代码

增加四级学科

记录结构变更

将门类与一级学科合并

运行结果:

代码有效期改变

设置学科有效期

更新变更历史

要求保留原信息

创建学生-学科关联表(带有效期)

插入示例数据

查询学生在特定时间点的学科信息

查询演示

结果演示:

交叉表实现

固定课程的查询

查询结果:


数据库创建

  • 新建用户bit,并创建数据库模式ass2

  • 使用datastdui以该用户远程登陆

创建学科数据字典相关表

  • 学科门类表

  • 一级学科表

  • 二级学科表

  • 三级学科表

  • 学科变更历史表

插入数据字典数据

  • 插入学科门类数据

  • 插入一级学科数据

  • 插入二级学科数据

  • 插入变更历史数据

创建学生成绩相关表

  • 学生表

  • 课程表

  • 成绩表

插入数据:

问题解决

编码长度改变

  • 在变更历史表中记录长度变更

  • 更新相关学科代码

注意:这里如果直接这样写的话,会报错,因为二级学科表引用了一级学科表

而我的解决方式是使用级联更新

先将原来的外键删除,然后建立支持级联更新的外键约束

更新之后如下:

增加四级学科

  • 记录结构变更

  • 将门类与一级学科合并

  • 运行结果:

代码有效期改变

  • 设置学科有效期

  • 更新变更历史

要求保留原信息

  • 创建学生-学科关联表(带有效期)

  • 插入示例数据

  • 查询学生在特定时间点的学科信息

  • 查询演示

  • 结果演示:

交叉表实现

  • 固定课程的查询

查询结果:

http://www.xdnf.cn/news/4113.html

相关文章:

  • 基于MATLAB图像中的圆形目标识别和标记
  • DDR在PCB布局布线时的注意事项及设计要点
  • 人工智能数学基础(九)—— 信息论
  • 用户模块 - IP归属地技术方案
  • 【Ubuntu 安装Docker CE-Jenkins】
  • 促销量化模型简介和示例
  • 商业秘密泄露后的法律救济
  • 36、C#中的⽅法声明参数关键字params,ref,out的意义及⽤法
  • 微前端qiankun动态路由权限设计与数据通信方案
  • Python中有序序列容器的概念及其与可变性的关系
  • Excel VBA 自定义函数
  • 深入探索 Apache Spark:从初识到集群运行原理
  • conda配置好的pytorch在jupyter中如何配置
  • 【心海资源】telegram换U地址完整源码
  • Attention Is All You Need 翻译版
  • 在macOS上安装windows系统
  • Java面试深度解密:Spring Boot、Redis、日志优化、JUnit5及Kafka事务核心技术解析
  • 精益数据分析(40/126):移动应用商业模式的关键指标与盈利策略
  • 签名去背景图像处理实例
  • HTML5 新元素
  • llama_factory0.9.3微调Qwen3
  • 互联网大厂Java面试:从Java SE到微服务的全栈挑战
  • Unity:输入系统(Input System)与持续检测键盘按键(Input.GetKey)
  • android-ndk开发(5): 编译运行 hello-world
  • 【C++类】序幕
  • 【SpringBoot篇】详解短信验证码登录功能实现
  • C与指针——常见库函数
  • 【Linux】进程控制
  • linux inotify 资源详解
  • 数据结构之二叉树(4)