2025-02-04 01:47
【 理解SQL的思維框架 】
軟體工程一般不用直接操作 SQL,但在設計數據模型以及數據存取時也需要對SQL有一定的理解,所以自己建立了一個簡化的框架去理解 SQL/數據。框架分為三層:
實體( Entity) 與字段(Field)
SQL 的基礎操作對象是包含字段的實體(如表)。每個實體由多條記錄組成,可通過字段值篩選(where)數據並排序。實體必須包含至少一個唯一標識符(如系統生成的ID),通常避免使用具有業務意義的字段作為標識。
實體間關係
不同實體的關係可簡化為四種(1對1、1對多、多對1、多對多)。SQL 通過連接(join)或子查詢處理關聯數據,支援內、左、右、全外連接四種方式,將分散的實體通過邏輯關係整合。
實體與聚合
SQL 支援對數據進行聚合運算(如min、count),另外分組 (group by) 可按特定規則將數據歸類,也是聚合操作。聚合能構建衍生數據(如股票指數),也會影響字段的查詢與篩選範圍,是複雜查詢的核心能力。
用這個框架配合編程概念可以解決日常很多數據問題,也可以此理解其他進階概念,例如事務、nosql 等等。大家也可以分享對SQL的理解 ~