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

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

Assignment 2: Database Design

目录

Assignment 2: Database Design

数据库创建

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

使用datastdui以该用户远程登陆

创建学科数据字典相关表

学科门类表

一级学科表

二级学科表

三级学科表

学科变更历史表

插入数据字典数据

插入学科门类数据

插入一级学科数据

插入二级学科数据

插入变更历史数据

创建学生成绩相关表

学生表

课程表

成绩表

插入数据:

问题解决

编码长度改变

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

更新相关学科代码

增加四级学科

记录结构变更

将门类与一级学科合并

运行结果:

代码有效期改变

设置学科有效期

更新变更历史

要求保留原信息

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

插入示例数据

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

查询演示

结果演示:

交叉表实现

固定课程的查询

查询结果:


数据库创建

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

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

创建学科数据字典相关表

  • 学科门类表

  • 一级学科表

  • 二级学科表

  • 三级学科表

  • 学科变更历史表

插入数据字典数据

  • 插入学科门类数据

  • 插入一级学科数据

  • 插入二级学科数据

  • 插入变更历史数据

创建学生成绩相关表

  • 学生表

  • 课程表

  • 成绩表

插入数据:

问题解决

编码长度改变

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

  • 更新相关学科代码

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

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

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

更新之后如下:

增加四级学科

  • 记录结构变更

  • 将门类与一级学科合并

  • 运行结果:

代码有效期改变

  • 设置学科有效期

  • 更新变更历史

要求保留原信息

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

  • 插入示例数据

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

  • 查询演示

  • 结果演示:

交叉表实现

  • 固定课程的查询

查询结果:

相关文章:

  • linux种文件名usr的含义是什么?
  • 20250505解压缩tar.xz压缩包的方法
  • Allegro23.1新功能之自动添加器件下方相邻层禁布操作指导
  • Adobe LiveCycle Designer
  • Android控件VideoView用法
  • DeepSeek-能力边界
  • 数据库的并发控制
  • USB资料摘录for后期,bus hound使用
  • 小白学习java第16天(下):javaweb
  • 凸性(Convexity)
  • Python小酷库系列:bidict,可以双向查询的dict
  • 2025年5月5日星期一的摸鱼大冒险
  • 音视频作品:AI生成音乐、短视频的邻接权保护
  • 基于yolov11的灭火器检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
  • NV287NV291美光固态闪存NV293NV294
  • Kubernetes排错(七)-节点排错
  • 用 Python 分析 IRIS 数据集:概率论与数理统计实战教程
  • 嵌入式开发学习日志Day13
  • 2025年最新Linux的Redis主从集群搭建
  • [C++] 小游戏 决战苍穹
  • 德州一女子做医美突发心脏骤停昏迷一个多月,涉事机构已关门拆招牌
  • 商务部:“一国一策”落实对非合作“十大伙伴行动”
  • 演员辛柏青发讣告:妻子朱媛媛患癌去世
  • 新华每日电讯:把纪律的螺丝拧得紧而又紧
  • 贵州茅台股东大会回应八大热点:确保茅台酒价格体系稳固,相信自我调节能力
  • 世卫大会拒绝涉台提案,外交部:坚持一个中国原则是人心所向