MongoDB 与关系型数据库的核心区别(面试向详解)

一、数据模型差异

1.1 结构化 vs 半结构化

  • 关系型数据库:严格遵循二维表结构,需要预定义Schema(字段名、数据类型、约束等)

    CREATE TABLE users (
      id INT PRIMARY KEY,
      name VARCHAR(50) NOT NULL,
      age INT CHECK (age > 0)
    
  • MongoDB:采用BSON文档模型(类似JSON),支持动态Schema

    // 同一个集合中可以存在不同结构的文档
    db.users.insertMany([
      { _id: 1, name: "Alice", age: 25 },
      { _id: 2, name: "Bob", hobbies: ["coding", "hiking"] }
    ])
    

关键结论:MongoDB的灵活模型更适合快速迭代的业务场景,关系型数据库则更适合强一致性要求的场景

1.2 关系处理方式

  • 关系型数据库:通过外键关联+JOIN操作

    SELECT orders.*, users.name 
    FROM orders
    JOIN users ON orders.user_id = users.id
    
  • MongoDB&

你可能感兴趣的:(数据库,mongodb,面试)