Skip to content

Latest commit

 

History

History
76 lines (71 loc) · 2.23 KB

Project B.md

File metadata and controls

76 lines (71 loc) · 2.23 KB

中山大学微软俱乐部内部项目

Project B

项目简介

你需要实现一个(简化的)文件数据库。该数据库使用一种新的语言进行查询和操作(不使用 SQL 语句),例如可以传入 Type Sound 的 AST 进行数据查询等。

要求

  1. 你首先需要给这个项目起一个名字,并且将项目仓库建在 https://github.com/SYSU-MSC-Studio
  2. 文件形式的存储:你设计的数据库最终需要将数据存储在硬盘上便于迁移,不能仅仅是停留在内存中的数据库。
  3. 基本操作语句:你的数据库至少需要实现以下方法

    在表中插入一条数据
    在表中更新一条数据
    在表中删除一条数据
    在表中查询数据
    在数据库中新建一张表
    在数据库中删除一张表
    重命名数据库中的一张表
    添加/删除/修改表的表列

  4. 基本算术表达式:你的数据库至少需要支持以下运算符
    1. 双目运算符:
      +: 加法运算
      -: 减法运算
      *: 乘法运算
      /: 除法运算
      %: 取余运算
      &&: 逻辑且运算
      ||: 逻辑或运算
      ==: 判等运算
      !=: 判非等运算
      |: 或运算
      &: 与运算
    2. 单目运算符:
      ~: 非运算
      !: 逻辑非运算
    3. 括号运算符:
      (: 左括号
      ): 右括号
  5. 基本函数:你的数据库至少需要支持以下函数/功能

    取最小值
    取最大值
    计数
    求和
    按某一字段排序

  6. 高级功能(可选):

    密码保护
    用户/角色/权限控制
    延时查询
    分组查询
    联表查询
    外键 unique,nullable,default value 等
    行锁/表锁机制
    并发支持
    以上没有提到的你想到的功能都可以尝试实现

  7. 可以尝试对性能进行优化

DDL

2019/6/16 进行成果展示 :) 定期 Checkpoint 汇报和 Schedule 制订,其余的自行安排吧

报名

邱奕乔 李建谊 关雅雯 欧阳浩岚 侯少森 薛明淇 夏一溥 颜彬 瓜铭浩 张昊熹 邹雨桐 夏林瀚 李一宏

提示

人数太多,建议分 2 组分别完成