数据库基础与客户数据理解
本阶段学习说明
培养方向: 客户现场的软件实现、系统集成与 AI 应用交付。
阶段定位: 能读懂客户业务数据,编写正确 SQL,设计必要约束和事务,完成受控查询、性能检查与变更验证。
适用环境: MySQL 8.x 与 InnoDB;可选 SQLAlchemy 或一种已学 ORM。使用其他数据库时说明语法、隔离与计划差异,不要求专职 DBA 的全部操作。
统一场景: 接入客户工单数据,生成报表,并在自有测试库实现领取、事件记录和数据修复;真实客户库默认按确认的只读范围接入。
课堂表结构约定: tenants(id, name) 表示客户空间;customers(id, tenant_id, external_id, name) 表示业务客户;tickets(id, tenant_id, customer_id, external_id, status, priority, assignee_id, created_at, updated_at, closed_at) 表示工单;ticket_events(id, tenant_id, ticket_id, event_type, occurred_at) 表示事件;tags(id, tenant_id, name) 与 ticket_tags(tenant_id, ticket_id, tag_id) 表示标签。基础练习约定 id 为本表全局唯一主键,外部编号仅在约定来源及客户空间内唯一。关联对象必须属于同一空间;约束如何落地也是考题,不默认上述字段已经具有全部保护。时间采用约定的 UTC 表示,NULL 和状态含义需按业务规则核对。
题库结构: 100 道题及追问,分十组,附评分与实操建议;提供题目,不包含参考答案。后续数据同步和多租户安全章节再展开专门设计。
答题约定: 先说明结果粒度、过滤范围、关联基数和空值规则,再写 SQL 或设计表。区分只读、读写和结构变更权限;任何实际写入、锁竞争与修复演练均在隔离测试库完成。