布拉猫 2023-06-28 16:33 采纳率: 35.3%
浏览 9

请问这样的数据库怎么 建立表 和储存过程

1、需要储存 百万用户数据表
2、用户分上下级
3、需要无限获取下级 人数

请问这样的数据库怎么 建立表 和储存过程?

  • 写回答

1条回答 默认 最新

  • AllenGd 大数据领域优质创作者 2023-06-28 17:35
    关注

    例如:
    建表-表结构可以考虑:
    1、用户表(user):存储用户的基本信息,如用户ID、用户名、密码、注册时间等。
    2、上下级关系表(relationship):存储用户之间的上下级关系,如上级ID、下级ID等。
    建表语句如下:

    CREATE TABLE user (
      id INT PRIMARY KEY,
      username VARCHAR(50) NOT NULL,
      password VARCHAR(50) NOT NULL,
      register_time DATETIME NOT NULL
    );
    
    CREATE TABLE relationship (
      superior_id INT NOT NULL,
      subordinate_id INT NOT NULL,
      PRIMARY KEY (superior_id, subordinate_id),
      FOREIGN KEY (superior_id) REFERENCES user(id),
      FOREIGN KEY (subordinate_id) REFERENCES user(id)
    );
    

    储存过程功能:
    1、添加用户:向用户表中插入一条新的用户记录。
    2、添加上下级关系:向上下级关系表中插入一条新的上下级关系记录。
    3、获取下级人数:根据用户ID查询其下级人数。
    储存过程如下:

    CREATE PROCEDURE add_user (
      IN username VARCHAR(50),
      IN password VARCHAR(50),
      OUT id INT
    )
    BEGIN
      INSERT INTO user (username, password, register_time)
      VALUES (username, password, NOW());
      SET id = LAST_INSERT_ID();
    END;
    
    CREATE PROCEDURE add_relationship (
      IN superior_id INT,
      IN subordinate_id INT
    )
    BEGIN
      INSERT INTO relationship (superior_id, subordinate_id)
      VALUES (superior_id, subordinate_id);
    END;
    
    CREATE PROCEDURE get_subordinate_count (
      IN user_id INT,
      OUT count INT
    )
    BEGIN
      SELECT COUNT(*) INTO count
      FROM relationship
      WHERE superior_id = user_id;
    END;
    

    你可以根据实际需求进行调整和优化。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错