资料库设计与SQL指令.ppt
* * 關聯式資料庫 資料庫 資料庫是一個儲存資料的固定位置 一個資料庫中可以包含一個以上的資料表 每一個資料表中有許多記錄 (資料列) 例如: Customers 資料表 DB 術語 主索引鍵 (primary key)(一個或多個值不會重覆的欄位) 欄位 欄位是具有型別的 (currency, string, …) 可以是 null (空值) 範例 以下是一個非常簡單的 Sales 資料庫: Customers, Orders and Products DB 關聯式資料庫 什麼是關聯 ? 資料表之間透過主索引鍵進行關聯 … 關聯鍵 (foreign key)(一個關聯到資料表主索引鍵的欄位) 資料庫結構 資料庫結構就是資料庫的設計結果 資料表、欄位、型別、主索引鍵、… 關聯: 一對多、多對一、多對多 1 ¥ 1 ¥ 正規化 資料庫正規化可以幫助你設計資料庫 一種數學式的資料庫設計方式 讓我們來看一下「第一階正規化」 範例 客戶購買多個產品 第一種設計方式: Items 欄位包含產品代號與數量 (pid, quantity) 的清單 … 這樣並不好 … 第一階正規化 1st 正規化: 在一個欄位中只會包含一個 “簡單” 的資料 處理方式: 將這個欄位變成多個欄位和多筆記錄 … 第一階正規化 之前的設計錯誤 ! 第二種設計: 將訂單明細的部份變成資料表 … 主索引鍵 (組合式) 結構化查詢語言 (SQL) SQL Structured Query Language 1970 開始至今 關聯式資料庫程式設計語言 標準型別: integers, reals, strings, currency, … 資料結構: 資料表 DML: Data Manipulation Language (select, update, …) DDL: Data Definition Language (create, drop, …) 一種宣告式的語言 你宣告你要什麼 – 提出要求 資料庫引擎處理你的要求 select範例 找出有欠錢的客戶,並且按照欠錢多寡排序 … 資料庫引擎會搜尋、排序、然後傳回結果 SELECT LastName, FirstName, AcctBalance FROM Customers WHERE AcctBalance 0.0 ORDER BY AcctBalance DESC; SQL 中的一切都是資料表 資料表就是 SQL 中最基本的資料結構 你就是要針對資料表做處理 結果看起來就像一個表格 SELECT LastName, FirstName, AcctBalance FROM Customers WHERE AcctBalance 0.0 ORDER BY AcctBalance DESC; SQL 的 DML SQL 的 Data Manipulation Language: 使用查詢格式來撰寫 SELECT 語法可以用來從資料庫取得資料 其它語法: INSERT, UPDATE, DELETE 不分大小寫 … 範例 #1 搜尋所有客戶資料,不做其它處理 … SELECT * FROM Customers; 範例 #2 根據 LastName 和 FirstName 來排序 … SELECT * FROM Customers ORDER BY LastName ASC, FirstName ASC; 計算型的欄位 SQL 可以進行計算 例如: 計算客戶數目、平均欠款、欠款最大金額 SELECT COUNT(*) AS CustomerCount, AVG(AcctBalance) AS AvgAcctBalance, MAX(AcctBalance) AS MaxAcctBalance FROM Customers; Joins 如果要合併兩個資料表的資料,使用 JOIN … 範例: 那一個客戶下了編號 #12351 的訂單 ? 我們要 Customers 資料表中的客戶名稱,但是需要 Orders 資料表中的訂單編號來做搜尋條件 SELECT FirstName, LastName FROM Customers INNER JOIN Orders ON Customers.CID = Orders.CID WHERE Orders.OID = 12351; Outer joins 如果你要不符合條件的記錄,使用outer join 範例: 列出所有客戶資料,以及他們的訂單數目 (如果有的話) inner join : 只會傳回有下訂單的客
您可能关注的文档
- 详细原理参考《在WASND中实现集群》文档与.doc
- 详细讲解MySQL数据库的安全配置.doc
- 语义理解-程序设计语言原理.ppt
- 语境-黑龙江大学俄罗斯语言文学与文化研究中心.doc
- 语言的连贯.ppt.ppt
- 请陶冶我儿子…使他成为一个坚强的人.ppt
- 读书心得书面报告-阳明工商.doc
- 读数实验.doc.doc
- 读秀知识库定制方案简介-复旦大学图书馆.doc
- 课件索引.doc
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)