幻燈片1 unit one 資料庫系統原理、程式設計與設計
幻燈片2利用你的資料庫方面的知識思考幾個問題
● 與檔案系統相比,資料庫系統具有哪些特點?
● 目前商用資料庫管理系統有哪些?它們在資料模型方面的共同之處是什麼?它們各具有什麼特點?
● 資料庫系統的資料組織方式具有什麼特殊之處?這種組織方式對於開發乙個大型的應用系統具有什麼好處?
● 與高階程式語言相比,資料庫語言具有什麼特點?標準的資料庫語言是什麼?
● 資料庫技術的目的是什麼?它適用於解決什麼樣的問題?
● 針對乙個具體的應用環境,你如何組織資料(即設計資料庫的方法)?
● 你接觸過哪些商用的資料庫管理系統產品?會使用哪些工具?會使用資料庫語言的哪些命令?會實現哪些功能?
● 根據你對資料庫系統知識的理解及實際經驗,你覺得商用資料庫系統產品應該提供哪些功能?
幻燈片3本講主要目標
學完本講後,你應該能夠了解:
● 資料庫系統的體系結構、組成與特點;
● 關係模型的三要素:①資料結構 —— 關係; ②基本的關係資料操作 —— 並、交、選擇、投影與連線;③完整性約束 —— 關係規則;
● 資料庫語言sql功能:資料定義語言、資料查詢語言、資料操縱語言、資料控制語言;互動式sql、嵌入式sql;
● 關聯式資料庫設計的兩種基本技術:實體-聯絡(e-r)方法和規範化方法。
幻燈片4
內容提綱
一.資料庫系統的特點
二. 資料庫系統的結構和組成
三.關係模型
四.資料庫語言sql
五.資料庫設計
幻燈片6 資料庫系統的特點
資料的高度結構化
幻燈片7
資料庫系統的特點
資料的高共享性
例,校人事處、財務處、房產處共享學校職工的基本資訊,但共享的列有一些區別
幻燈片8
資料庫系統的特點
程式與資料的高獨立性
● 邏輯獨立性 ---- 使用者的應用程式與資料庫的邏輯結構是相互獨立的
● 物理獨立性 ---- 使用者的應用程式與儲存在磁碟上的資料庫中的資料是相互獨立的
如何保證應用程式所操作的資料的資料結構盡量保持穩定?---- 分級,建立對映表
幻燈片9
資料庫系統的特點
● 程式與資料的高獨立性
資料結構變化的幾種可能性(物理結構,邏輯結構),因此,將模式從上擴充,得到外模式,向下擴充,得到內模式,即資料庫系統的**模式結構。
* 資料庫系統的**模式結構和兩級映象 ---- 程式與資料的獨立性。
* 對於每一級模式,dbms提供相應的描述語言來定義。
幻燈片10
資料庫系統的特點
● 程式與資料的高獨立性
● 外模式(external schema,子模式 subschema,使用者模式)--是資料庫使用者能夠看見和使用的區域性資料的邏輯結構和特徵的描述,是資料庫使用者的資料檢視。
● 模式(邏輯模式) -- 是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視。是資料庫資料在邏輯級上的檢視。
內模式(internal schema,儲存模式storage schema) -- 是資料物理結構和儲存方式的描述,是資料在資料庫內部的表示方式。
幻燈片11
資料庫系統的特點
● dbms統一管理和控制資料
資料庫的共享是併發的共享,即多個使用者可以同時訪問資料庫中的資料。
dbms提供以下幾方面的資料控制功能:
● 資料的安全性(security)保護
● 資料的完整性(integrity)檢查
● 併發(concurrency)控制
資料庫恢復(recovery)
幻燈片13
資料庫系統的結構和組成
資料庫的**模式結構
幻燈片14
資料庫系統的結構和組成
● 資料庫系統的組成成分
● 硬體(足夠的記憶體、外存、資料傳輸率)
● 資料庫
● 軟體(os、dbms、以dbms為核心的應用開發工具、高階語言及編譯系統、資料庫應用系統)
● 人(資料庫管理員、應用程式設計師、終端使用者)
● 終端使用者
● 臨時使用者——用sql訪問dbms的使用者
初級使用者——通過選單訪問dbms的使用者
幻燈片15
資料庫系統的結構和組成
● 各種人員的職責
● 應用程式設計師
● 直接與dbms打交道,為初級使用者編寫選單程式
● 終端使用者
● 通過選單或sql使用資料庫,以滿足日常的事務處理要求
● 資料庫管理員(dba)的職能
● 決定db中的資訊內容和結構;
● 決定db中的儲存結構和訪問策略;
● 定義資料的安全性要求和完整性約束條件;
● 監控資料庫的使用和執行;
資料庫的改進和重組重構 。
幻燈片16
資料庫系統的結構和組成
各種人員的資料檢視
幻燈片17
資料庫系統的結構和組成
● 商用資料庫管理系統產品
● oracle
● sybase
● udb db2
● ingres
● informix
● sql server
foxpro
幻燈片19
關係模型
● 關係模型的三要素
● 關係模型是一種與計算機相關的資料模型
● 資料結構
● 表● 資料操作
● 傳統的集合操作
● 專門的關係操作
● 資料約束條件
● 實體完整性
● 參照完整性
使用者自定義的完整性
幻燈片20
關係模型
● 關係規則
● 關係規則是關係模型中的一些規則,告訴我們在表結構中哪些變化是允許的,哪些檢索操作是受限的
● 在不同的商業資料庫產品的標準化工作方面起了很大的作用
● 關係規則反映了特定的數學假定,對於關係結構的良好性狀有重大意義
● 關係規則反映了資料模型的特點
通過保證關係規則,使資料庫中的資料正確、一致
幻燈片21
關係模型
● 關係規則
● 規則1 第一正規化規則
—— 在定義的表中,關係模型堅持不允許含有多值屬性(有時稱為重複字段)和含有內部結構(比如記錄型別)的列。
規則1說明資料庫系統能夠處理的表對於手工處理的表的限制
幻燈片22
關係模型
規則1幻燈片23
關係模型
幻燈片24
關係模型
規則1幻燈片25
關係模型
第一正規化—— 遵守規則1的表稱為第一正規化
幻燈片26
關係模型
● 規則2 基於內容訪問行
● 數學上的合理性:行是沒有次序的
幻燈片27
關係模型
● 規則3 行唯一性規則關係中任何兩個元組(表中的行)的值在同一時刻不能是完全相同的
● 數學上的合理性:關係是元組的集合,而集合不允許包含相同的元素
● 資料模型上的合理性:關係中的每乙個元組代表乙個客觀存在的事物,而事物具有唯一性
在商業資料庫管理系統中,很大一部分工作要求保證在插入一條新記錄的時候,原資料庫中沒有相同記錄存在
幻燈片28
關係模型
● 關係代數
● —— 是根據查詢來生成新錶的方法的集合
● 關係代數的運算分成兩種型別:
● 集合運算,表實際上是「行」的集合,集合的運算是只涉及「行」的運算;
專門的關係運算,既涉及到「行」,也涉及到「列」的運算。
幻燈片29
關係模型
集合運算
專門的關係運算
幻燈片30
關係模型
其它關係運算
這裡, 是比較運算子,可以是》,<,>=,<=,=,<>
幻燈片31
資料庫語言sql
幻燈片32
資料庫語言sql
● sql的特點和功能
● 高度的非過程化語言
● 一體化
● 面向集合的操作方式
● 兩種使用方式,統一的語法結構
簡潔易學
幻燈片33
資料庫語言sql
sql的資料定義語言
幻燈片34
資料庫語言sql
dll對資料庫**模式的支援
幻燈片35
資料庫語言sql
sql的資料定義語句對dd和db的影響
幻燈片36
資料庫語言sql
● 定義表語句的基本語法
● create table 〈表名〉
● (
● (《列名》《資料型別》[not null│null] [unique]
● [, 《列名》《資料型別》[not null│null] [unique]]…
● [, primary key (《列名》[,《列名》] …)]
● [, foreign key (《列名》[,《列名》] …)references 《被參照表名》]
);幻燈片37
資料庫語言sql
● 建立索引
● 基本語法
create [unique] [cluster] index 〈索引名〉
on 《表名》(《列名》 [《次序》][,《列名》[《次序》]] …);
●● 說明
● 一條語句建立乙個索引;
● 《次序》指定索引的排列次序 ---- asc 或desc,預設為asc;
● unique表明每個索引值只對應唯一的資料記錄;
cluster是聚簇索引,即索引項的順序與表中記錄的物理順序一致;
幻燈片38
資料庫語言sql
● sql資料查詢語言
● 語法
● subquery ::=
● select [all|distinct]}
● from tableref
● [where search_condition]
● [group by colname[,colname…]
● [h**ing search_condition] ]
| subquery union [all] subquery
select statement ::= subquery [order by result_column [asc|desc]]
幻燈片39
資料庫語言sql
● 整個select的含義
● 根據where子句中的條件表示式,從from子句中的基本表或檢視中找出滿足條件的元組;
● 按select子句中的目標字段,選出元組中的分量形成結果表;
● group by子句將結果按欄位分組,每個組產生結果表中的乙個元組;
● 通常在每組中作用庫函式,分組的附加條件用h**ing短語給出;只有滿足內部函式表示式的組才予輸出;
資料庫管理與程式設計
3.資料庫設計階段。要求設計概念結構e r圖,然後將其轉換成表結構,並根據分析形成過程 函式等設計,並驗收此階段的成果,要求每個小組講解其階段成果。2天 4.資料庫實現階段。根據資料庫設計結果以及功能實現的需求,在sql server中進行具體實現,完成表 檢視 儲存過程和函式等物件的實現,在sql...
ACCESS資料庫與程式設計複習
1 資料庫系統的組成,核心 資料庫系統由資料庫 db 資料庫管理系統 及其開發工具 資料庫應用系統和資料庫管理員構成。核心是 資料庫管理系統 2 資料管理的發展經歷了哪幾個階段,各自階段的特點 1 人工管理階段 資料不儲存 應用程式管理資料 資料不共享,資料冗餘量大 資料不具有獨立性 2 檔案系統階...
資料庫程式設計總結
當前各種主流資料庫有很多,包括oracle,ms sql server,sybase,informix,mysql,db2,interbase firebird,postgresql,sqlite,sap db,timesten,ms access等等。資料庫程式設計是對資料庫的建立 讀寫等一列的操...