增删查改算多少个功能?

增删查改算多少个功能?
一个实体的增删查改是一个功能吗?
那三个实体的增删查改算三个功能吗?

看你是甲方还是乙方,甲方往少了算,乙方往多了算。就查这一个,按照不同关键字查也能算多个功能啊。
删除还分批量删除,特定删除,删除确认,恢复删除……如果我当甲方,你这么多我能给你总结出只有一个功能,如果我当乙方,就你这些我能列举出100个功能。

"增删查改"通常是指四个基本操作:添加(Create)、读取(Retrieve)、更新(Update)和删除(Delete)。因此,增删查改被认为是四个不同的功能。

对于一个实体的增删查改,这也可以认为是一个功能。例如,对于一个“用户”实体,其增删查改便是一个功能。

对于三个实体的增删查改,如果每个实体的增删查改都被视为单独的功能,则会有12个不同的功能(每个实体的增删查改各占四个功能)。但是,如果这三个实体共同构成一个系统或应用程序,并且它们的增删查改是在同一个界面或模块中管理的,则可以将它们视为一个整体的功能,而不是独立的12个功能。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7474486
  • 你也可以参考下这篇文章:什么是数据库三大范式,它们是做什么的?
  • 除此之外, 这篇博客: 索引可以创建多个嘛?创建索引需要注意什么?中的 三、索引类型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在创建索引时,可以规定索引能否包含重复值。如果不包含,则索引应该创建为PRIMARY KEY或UNIQUE索引。对于单列惟一性索引,这保证单列不包含重复的值。对于多列惟一性索引,保证多个值的组合不重复。

    PRIMARY KEY索引和UNIQUE索引非常类似。
    事实上,PRIMARY KEY索引仅是一个具有名称PRIMARY的UNIQUE索引。这表示一个表只能包含一个PRIMARY KEY,因为一个表中不可能具有两个同名的索引。

    下面的SQL语句对students表在sid上添加PRIMARY KEY索引。
    ALTER TABLE students ADD PRIMARY KEY (sid)

  • 您还可以看一下 刘伶华老师的软件测试经典面试题剖析课程中的 工作中有遇到什么困难,怎么解决的?小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    增删查改是四个不同的功能,需要分别实现。如果有一个实体需要进行增删查改,这四个操作算作一个功能。如果有三个实体需要进行增删查改,那么这三个实体的操作算作三个功能。对于如何实现这四个操作,可以根据具体情况选择不同的技术方案。比如,在关系型数据库中,可以使用SQL语句来实现增删查改操作。以MySQL为例,可以使用以下语句:

    增加记录:

    INSERT INTO 表名(列1, 列2, 列3...) VALUES (值1, 值2, 值3...);
    

    删除记录:

    DELETE FROM 表名 WHERE 条件;
    

    修改记录:

    UPDATE 表名 SET 列1=值1, 列2=值2... WHERE 条件;
    

    查询记录:

    SELECT 列1, 列2, 列3... FROM 表名 WHERE 条件;
    

    在具体实现时,可以将增删查改封装成一个公共类,供多个实体调用。比如以下示例代码:

    public class DataAccess {
    
        private Connection connection;
    
        public DataAccess(String url, String username, String password) {
            try {
                Class.forName("com.mysql.jdbc.Driver");
                connection = DriverManager.getConnection(url, username, password);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void insert(String table, String columns, String values) {
            try {
                Statement statement = connection.createStatement();
                String sql = "INSERT INTO " + table + " (" + columns + ") VALUES (" + values + ")";
                statement.executeUpdate(sql);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void delete(String table, String condition) {
            try {
                Statement statement = connection.createStatement();
                String sql = "DELETE FROM " + table + " WHERE " + condition;
                statement.executeUpdate(sql);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void update(String table, String setValues, String condition) {
            try {
                Statement statement = connection.createStatement();
                String sql = "UPDATE " + table + " SET " + setValues + " WHERE " + condition;
                statement.executeUpdate(sql);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public ResultSet select(String table, String columns, String condition) {
            ResultSet resultSet = null;
            try {
                Statement statement = connection.createStatement();
                String sql = "SELECT " + columns + " FROM " + table + " WHERE " + condition;
                resultSet = statement.executeQuery(sql);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultSet;
        }
    }
    

    使用时可以这样调用:

    DataAccess dataAccess = new DataAccess("jdbc:mysql://localhost/test", "root", "password");
    dataAccess.insert("tablename", "column1, column2, column3", "value1, value2, value3");
    dataAccess.delete("tablename", "condition");
    dataAccess.update("tablename", "column1='value1'", "condition");
    ResultSet resultSet = dataAccess.select("tablename", "column1, column2", "condition");
    while (resultSet.next()) {
        String column1 = resultSet.getString("column1");
        String column2 = resultSet.getString("column2");
        // Do something with column1 and column2
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^