當前位置:首頁 » 操作系統 » 資料庫理論基礎

資料庫理論基礎

發布時間: 2022-04-20 04:51:11

㈠ 求資料庫管理基礎及應用理論知識重點歸納

一、數據數據是資料庫中存儲的基本對象。1. 定義 :描述事物的符號記錄。2. 種類 :文字、圖像、圖形、聲音。3. 特點 :數據與其語義是不可分的。二、資料庫1. 定義 :長期存儲在計算機內、有組織的、可共享的大量數據集合。2. 特徵 : 1)數據按一定的數據模型組織、描述和存儲 2)可為各種用戶共享 3)冗餘度較小 4)數據獨立性較高 5)易擴展三、資料庫管理系統(DBMS) 1. 定義:資料庫管理系統(Database Management System 即DBMS)是位於用戶與操作系統之間的數據管理軟體。 2. 用途 :科學地組織和存儲數據、高效地獲取和維護數據 3. 功能 :1)資料庫定義功能 2)數據操縱功能 3)資料庫的運行管理 4)資料庫的建立和維護功能(實用程序)四、資料庫系統1. 定義:資料庫系統是指在計算機系統中引入資料庫後的系統,一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和用戶構成。2. 特點:數據結構化;數據的共享性高、冗餘度低、易擴充;數據獨立性高;數據由DBMS統一管理和控制。五、資料庫管理技術1. 定義:對數據進行分類、組織、編碼、存儲、檢索和維護,是數據處理的中心問題2. 發展過程:1)人工管理階段(40年代中--50年代中)2)文件系統階段(50年代末--60年代中)3)資料庫系統階段(60年代末--現在)3. 發展動力:1)應用需求的推動2)計算機硬體的發展3)計算機軟體的發展六、 數據模型 1. 定義:數據模型(Data Model)也是一種模型,它是現實世界數據特徵的抽象。 2. 作用:在資料庫中用數據模型來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬,現有的資料庫系統均是基於某種數據模型的。 3. 三要素: 1)數據結構 2)數據操作 3)完整性約束 4. 常用的數據模型: 1)層次模型 2)網狀模型 3)關系模型:ORACLE、SQL、SYBASE、INFORMIX、DB/2、COBASE、PBASE、EasyBase、DM/2、OpenBase 4)面向對象模型 5. 層次: 1)概念模型:也稱信息模型,它是按用戶的觀點來對數據和信息建模。 2)數據模型:主要包括網狀模型、層次模型、關系模型等,它是按計算機系統的觀點對數據建模七、關系模型 1. 基本概念: 1)關系:一個關系對應通常說的一張表。2)元組:表中的一行即為一個元組。3)屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。 2. 關系模型的優缺點: 優:1)建立在嚴格的數學概念的基礎上2)概念單一,數據結構簡單、清晰,用戶易懂易用3)關系模型的存取路徑對用戶透明 缺:1)存取路徑對用戶透明導致查詢效率往往不如非關系數據模型2)為提高性能,必須對用戶的查詢請求進行優化增加了開發資料庫管理系統的難度 3. 關系模型的組成:關系數據結構、關系操作集合、關系完整性約束 八、關系數據理論 1. 基本概念關系:描述實體、屬性、實體間的聯系。從形式上看,它是一張二維表,是所涉及屬性的笛卡爾積的一個子集。關系模式:用來定義關系。關系資料庫:基於關系模型的資料庫,利用關系來描述現實世界。從形式 上看,它由一組關系組成。關系資料庫的模式:定義這組關系的關系模式的全體。2. 範式: 範式是符合某一種級別的關系模式的集合。1)1NF的定義 若關系模式中的所有屬性值都是不可再分的原子值,則稱該種關系模式為第一範式。2)2NF的定義 若關系模式R∈1NF,並且每一個非主屬性都完全函數依賴於R的碼,則R ∈2NF。 3)3NF的定義 若一個數據表已滿足2NF,且該數據表中的任何兩個非主鍵欄位的數值之間不存在函數依賴關系,則該數據表滿足第三範式。

㈡ 資料庫原理

《資料庫原理及應用》教學大綱

課程編號 1620127 總學時 46 理論 32 實驗/上機 14
學分 2.5 開課單位 信息學院 開課系 電子工程系 修訂時間 2006年1月1日

課 程 簡 介
教學內容
《資料庫原理及應用》主要討論資料庫系統的基本概念,基本原理,基本方法以及有關的應用。
主要內容包括:資料庫系統的組成、關系資料庫、資料庫設計以及數據保護等,同時講解一種重要的資料庫系統的應用。要求學生通過本課程的學習了解有關資料庫系統的基本概念,掌握相關的知識,初步掌握資料庫設計方法,並能用資料庫系統建立資料庫及簡單的應用。
修讀專業:本大綱適合本科電子信息工程專業使用
先修課程:《數據結構》
教材:資料庫系統及應用(第二版) 「北京市高等教育精品教材」立項項目。由崔巍編著,高等教育出版社

一、 課程的性質與任務
本課程是電子信息工程專業有關資料庫的一門統設必修課。主要任務是介紹資料庫組織、管理和使用的一般知識,包括數據模型、資料庫結構、資料庫系統、資料庫設計、關系運算、關系規范化、關系查詢(SQL語言)等方面的知識;介紹至少一種實際的資料庫管理系統的構成與使用。目的使學生通過該課程的學習,具有進行簡單資料庫應用系統設計與開發的能力。
二、 課程的基本要求
1.熟練掌握(代碼:A):資料庫中的概念、資料庫設計與編程方法。資料庫的結構與特點,資料庫系統的組成及各部分的功能,熟練使用結構化查詢語言(SQL)。
2.掌握(代碼:B):關系代數語言的使用;關系演算語言的使用;三級一致性的區別及其與可串列化調度的關系;關系資料庫以及面向對象資料庫的特點與區別;查詢表達式優化的方法。
3.了解(代碼:C):關系、關系模型、鍵碼、視圖、函數依賴等概念
三、 修讀專業
本大綱適合本科電子信息工程專業使用
四、 本課程與其它課程的聯系
由於資料庫理論及應用是各種計算機技術的綜合應用,為了能夠讓學生很好地理解資料庫技術,要求學生在學習本課程之前最好已經學習過以下課程:《程序設計》、《數據結構》、《操作系統》等課程。當然主要要求學生具有「數據結構」的基本知識,其他課程的知識要求是其次的。
對於現行資料庫的選擇,建議教師最好選擇「Microsoft SQL Server」,其它的資料庫如:Oracle,IBM DB2相對比較難理解和應用,Access又過於簡單。
五、 教學內容安排、要求、學時分配及作業
Chapter 1 緒論(2)
1.1 什麼是資料庫(C)
1.2 資料庫管理系統(C)
1.3 資料庫管理和資料庫管理員(B)
1.4 資料庫系統(B)
1.5 資料庫的過去、現在和未來(C)
作業:第2題
Chapter 2 數據模型和三層模式資料庫(4)
2.1 信息結構與E-R方法(C)
2.2 概念數據模型(B)
2.2.3 連接陷阱(C)
2.3 傳統的三大數據模型(C)��
2.4 數據獨立性與三層結構(B)��
2.5 資料庫管理系統的結構(B)��
Chapter 3 關系資料庫(4)
3.1 關系資料庫系統概述(C)��
3.2 關系數據模型(C)��
3.3 關系模型的完整性約束(B)��
3.4 關系代數(B)��
3.5 關系資料庫系統的三層模式結構(B)��
作業:第8題--1),2)
Chapter 4 Microsoft SQL Server資料庫基礎(1)
4.1 客戶/伺服器體系結構(C)��
4.2 Microsoft SQL Server基礎(C)��
4.3 Transact-SQL簡介(C)��
Chapter 5關系資料庫標准語言——SQL(8)
5.1 SQL語言概述(B)��
5.2 SQL的數據定義功能(B)��
5.3 SQL的數據查詢功能(C)��
5.4 視圖(View) (B)�
5.5 SQL的數據操作功能(A)��
5.6 SQL的數據控制功能(A)��
5.7 SQL的宿主使用(B)��
5.8 動態SQL(B)��
作業:第2題--7),9),11 )
Chapter 6 存儲過程、觸發器�和數據完整性(4)
6.1 存儲過程(B)��
6.2 觸發器及其用途(B)��
6.3 數據完整性(A)�
作業:第2題--3)�
Chapter 7 安全性(4)
7.1 安全性概述(C)��
7.2 用戶管理和角色管理(A)��
7.3 許可權管理(A)��
7.4 其他安全問題(C)��
Chapter 8 事務管理(2)
8.1 事務(B)��
8.2 並發控制(B)��
8.3 恢復(A)��
作業:第1題,第2題
Chapter 9 關系數據理論(2)
9.1 基本概念(C)��
9.2 函數依賴的公理系統(C)��
9.3 規范化(B)��
9.4 模式分解(B)��
Chapter 10 資料庫設計(1)
10.1 完善E-R模型中的概念(C)��
10.2 資料庫設計的過程(B)�
六、 實驗內容與要求
序號 實驗內容 學時
1 建立資料庫(B)�� 2
2 建立表和數據完整性(A)� 2
3 SQL數據操作(B)�� 2
4 SQL數據查詢(A)�� 2
5 視圖的定義和操作(B)�� 2
6 存儲過程、觸發器(B)�� 2
7 用戶管理和許可權管理(A) 2
七、 教材與參考書
本課程選用教材:崔巍,資料庫系統及應用(第二版),高等教育出版社
本課程推薦參考書:
1)薩師煊、王珊,資料庫系統概論(第一版),北京:高等教育出版社,1983
2)薩師煊、王珊,資料庫系統概論(第二版),北京:高等教育出版社,1991
3)薩師煊、王珊,實用資料庫系統匯編,北京:高等教育出版社,1990
4)王珊、陳紅、文繼榮,資料庫和資料庫管理系統,北京:電子工業出版社,1995
5)馮玉才,資料庫基礎(第二版),武漢:華中理工大學出版社,1993
6)施伯樂、何繼潮、崔靖,關系資料庫的理論及應用,鄭州:河南科技出版社,1990
7)《資料庫系統概論》第三版 普通高等教育「九五」國家教委重點教材,由薩師煊、王珊編著,高等教育出版社

㈢ 學資料庫要什麼基礎

Database理論基礎
SQL語言加強一下
然後啃一本Oracle入門書,並且多加練習,遇到困難多查manual

有問題別上網路這問,去找個專業點的Oracle論壇,邊學邊問

㈣ 資料庫基本原理

以第(1)題為例:
教研室(教研室id,教研室名稱,教研室描述和簡介),主鍵為教研室id。
教師(教師id,姓名,性別,出生日期,所在教研室id),主鍵為教師id,外鍵為所在教研室id,參照教研室表的主鍵。

㈤ 資料庫學習需要什麼基礎

不需要基礎,計算機的學習最大的基礎就是興趣,只要有興趣,許多東西不學就會了。

㈥ 關系資料庫規范化理論的基礎和內容

一個關系資料庫模式由一組關系模式組成,一個關系模式由一組屬性名組成。關系資料庫設計,就是如何把已給定的相互關聯的一組屬性名分組,並把每一組屬性名組成關系的問題。然而,屬性的分組不是唯一的,不同的分組對應著不同的資料庫應用系統,它們的效率往往相差很遠。
為了使資料庫設計合理可靠,簡單實用,長期以來,形成了關系資料庫設計的理論——規范化理論。
6.1 關系規范化的作用
規范化,就是用形式更為簡潔,結構更加規范的關系模式取代原有關系模式的過程。
如果將兩個或兩個以上實體的數據存放在一個表裡,就會出現下列三個問題:
Ø 數據冗餘度大
Ø 插入異常
Ø 刪除異常
所謂數據冗餘,就是相同數據在資料庫中多次重復存放的現象。數據冗餘不僅會浪費存儲空間,而且可能造成數據的不一致性。
插入異常是指,當在不規范的數據表中插入數據時,由於實體完整性約束要求主碼不能為空的限制,而使有用數據無法插入的情況。
刪除異常是指,當不規范的數據表中某條需要刪除的元組中包含有一部分有用數據時,就會出現刪除困難。
(以P98工資表為例)
解決上述三個問題的方法,就是將不規范的關系分解成為多個關系,使得每個關系中只包含一個實體的數據。
(講例子解)
當然,改進後的關系模式也存在另一問題,當查詢職工工資時需要將兩個關系連接後方能查詢,而關系連接的代價也是很大的。
那麼,什麼樣的關系需要分解?分解關系模式的理論依據又是什麼?分解完後能否完全消除上述三個問題?回答這些問題需要理論指導。下面,將加以討論:

6.2 函數依賴

6.2.1屬性間關系

實體間的聯系有兩類:一類是實體與實體之間聯系;另一類是實體內部各屬性間的聯系。資料庫建模一章中討論的是前一類,在這里我們將學習第二類。

和第一類一樣,實體內部各屬性間的聯系也分為1:1、1:n和m:n三類:

例:職工(職工號,姓名,身份證號碼,職稱,部門)

1、 一對一關系(1:1)

設X、Y是關系R的兩個屬性(集)。如果對於X中的任一具體值,Y中至多有一個值與之對應,反之,對於Y中的任一具體值,X中也至多有一個值與之對應,則稱X、Y兩屬性間是一對一關系。

如本例職工關系中職工號與身份證號碼之間就是一對一關系。

2、一對多關系(1:n)

設X、Y是關系R的兩個屬性(集)。如果對於X中的任一具體值,Y中可以找到多個值與之對應,而對於Y中的任一具體值,X中至多隻有一個值與之對應,則稱屬性X對Y是一對多關系。

如職工關系中職工號與職稱之間就是一對多的關系。

3、多對多關系(m:n)

設X、Y是關系R的兩個屬性(集)。如果對於X中的任一具體值,Y中有n個值與之對應,而對於Y中的任一具體值,X中也有m個值與之對應,則稱屬性X對Y是一對多(m:n)關系。

例如,職工關系中,職稱與部門之間就是多對多的關系。

上述屬性間的三種關系,實際上是屬性值之間相互依賴與相互制約的反映,因而稱之為屬性間的數據依賴。

數據依賴共有三種:

Ø 函數依賴(Functional Dependency,FD)

Ø 多值依賴(Multivalued Dependency,MVD)

Ø 連接依賴(Join Dependency,JD)

其中最重要的是函數依賴和多值依賴。

6.2.2 函數依賴

函數依賴,是屬性之間的一種聯系。在關系R中,X、Y為R的兩個屬性或屬性組,如果對於R的所有關系r 都存在:對於X的每一個具體值,Y都只有一個具體值與之對應,則稱屬性Y函數依賴於屬性X。或者說,屬性X函數決定屬性Y,記作X→Y。其中X叫作決定因素,Y叫作被決定因素。

上述定義,可簡言之:如果屬性X的值決定屬性Y的值,那麼屬性Y函數依賴於屬性X。換一種說法:如果知道X的值,就可以獲得Y的值,則可以說X決定Y。

若Y函數不依賴於X,記作:X→Y。

X Y

若X→Y,Y→X,記作:

前面學習的屬性間的三種關系,並不是每種關系中都存在著函數依賴。

u 如果X、Y間是1:1關系,則存在函數依賴 X←→Y

u 如果X、Y間是1:n關系,則存在函數依賴: X→Y或Y→X(多方為決定因素)

u 如果X、Y間是m:n關系,則不存在函數依賴。

注意,屬性間的函數依賴不是指R的某個或某些關系子集滿足上述限定條件,而是指R的一切關系子集都要滿足定義中的限定。只要有一個具體的關系r(R的一個關系子集)不滿足定義中的條件,就破壞了函數依賴,使函數依賴不成立。

這里的關系子集,指的是R的某一部分元組的集合,例如:地測學院的學生關系中只包含了地測學院學生的數據,所以它是長安大學學生關系的一個子集。

6.2.3 碼的定義

前面,我們對碼進行了直觀化的定義,下面用函數依賴的概念對碼作出較為精確的形式化的定義:

設K是關系模式R(U,F)中的屬性或屬性組,K』是K的任一子集。若K→U,而不存在K』→U,則K為R的候選碼(Candidate Key)

Ø 若候選碼多於一個,則選其中的一個為主碼(Primary Key);

Ø 包含在任一候選碼中的屬性,叫做主屬性(Primary Attribute);

Ø 不包含在任何碼中的屬性稱為非主屬性(Nonprime Attribute)或非碼屬性(Nonkey Attribute)

Ø 關系模式中,最簡單的情況是單個屬性是碼,稱為單碼(Single Key);最極端的情況是整個屬性組是碼,稱為全碼(All-Key)。

前面已多次遇到單碼的情況,下面是一個全碼的例子:

簽約(演員名,製片公司,電影名)

外碼:設有兩個關系R和S,X是R的屬性或屬性組,並且X不是R的碼,但X是S的碼(或與S的碼意義相同),則稱X是R的外部碼(Foreign Key),簡稱外碼或外鍵。

如:職工(職工號,姓名,性別,職稱,部門號)

部門(部門號,部門名,電話,負責人)

其中職工關系中的「部門號」就是職工關系的一個外碼。

在此需要注意,在定義中說X不是R的碼,並不是說X不是R的主屬性,X不是碼,但可以是碼的組成屬性,或者是任一候選碼中的一個主屬性。

如:學生(學生號,姓名,性別,年齡…)

課程(課程號,課程名,任課老師…)

選課(學生號,課程號,成績)

在選課關系中,(學生號,課程號)是該關系的碼,學生號、課程號又分別是組成主碼的屬性(但單獨不是碼),它們分別是學生關系和課程關系的主碼,所以是選課關系的兩個外碼。

關系間的聯系,可以通過同時存在於兩個或多個關系中的主碼和外碼的取值來建立。如要查詢某個職工所在部門的情況,只需查詢部門表中的部門號與該職工部門號相同的記錄即可。所以,主碼和外碼提供了一個表示關系間聯系的途徑。

6.2.4 函數依賴和碼的唯一性

由上述碼的形式化定義,我們可以說:碼是由一個或多個屬性組成的,可唯一標識元組的最小屬性組。

碼在關系中總是唯一的,即一個碼函數唯一地決定一行。如果碼的值重復,則整個元組都會重復。否則,違反了實體完整性規則。而元組的重復則表示存在兩個完全相同的實體,這顯然是不可能的,所以碼是不允許重復取值的。

所以,只有當某個屬性或屬性組能夠函數決定關系中的每一個其它的屬性,且該屬性組的任何一個真子集都做不到這一點時,該屬性或屬性組才是該關系的碼。

函數依賴是一個與數據有關的事物規則的概念。如果屬性B函數依賴於屬性A,那麼若知道了A的值,則完全可以找到B的值。這並非是可以由A的值計算出B的值,而是邏輯上只能存在一個B的值。

6.3 關系模式的規范化

一、非規范化的關系

當一個表中存在還可以再分的數據項時,這個表就是非規范化的表。非規范化表存在兩種情況:

Ø 表中具有組合數據項(P102表6-4)

Ø 表中具有多值數據項(P103表6-5)

例:

職工號
姓名
工資

基本工資
職務工資
工齡工資

1002
張三
1000
800
200

職工號
姓名
職稱
系名
系辦地址
學歷
畢業年份

001
張三
教授
計算機
1305
大學

研究生
1963

1982

那麼什麼是規范化關系呢?

當一個關系中的所有分量都是不可再分的數據項時,該關系是規范化的。即當表中不存在組合數據項和多值數據項,只存在不可分的數據項時,這個表是規范化的。

二維表按其規范化程度從低到高可分為5級範式(Normal Form),分別稱為1NF、2NF、3NF(BCNF)、4NF、5NF。規范化程度較高者必是較低者的子集,即:

1NF 2NF 3NF BCNF 4NF 5NF

二、第一範式(1NF)

定義1:如果關系模式R中不包含多值屬性,則R滿足第一範式(First Normal Form),記作:

R∈1NF

1NF是對關系的最低要求,不滿足1NF的關系是非規范化的關系。

非規范化關系轉化為規范化關系1NF方法很簡單,只要上表分別從橫向、縱向展開即可。如下表:

職工號
姓名
基本工資
職務工資
工齡工資

1002
張三
1000
800
200

1005
李四
1200
900
150

職工號
姓名
職稱
系名
系辦地址
學歷
畢業年份

1002
張三
教授
計算機
1305
大學
1963

1002
張三
教授
計算機
1305
研究生
1982

1005
李四
講師
信電
2206
大學
1989

上表雖然符合1NF,但仍是有問題的關系,表中存在大量的數據冗餘和潛在的數據更新異常。原因是(職工號,學歷)是右表的碼,但姓名、職稱、系名、系辦地址卻與學歷無關,只與碼的一部分有關。所以上表還需進一步地規范化。

三、第二範式(2NF)

定義1:設X、Y是關系R的兩個不同的屬性或屬性組,且X → Y。如果存在X的某一個真子集X』,使X』 → Y成立,則稱Y部分函數依賴於X,記作:X P→ Y(Partial)。反之,則稱Y完全函數依賴於X,記作:X F→ Y (Full)

定義2:如果一個關系 R∈1NF,且它的所有非主屬性都完全函數依賴於R的任一候選碼,則R屬於第二範式,記作:R∈2NF。

說明:上述定義中所謂的候選碼也包括主碼,因為碼首先應是候選碼,才可以被指定為碼。

例如關系模式:

職工(職工號,姓名,職稱,項目號,項目名稱,項目角色)中

(職工號,項目號)是該關系的碼,而職工號→姓名、職工號→職稱、項目號→項目名稱…

所以(職工號,項目號)P→ 職稱、(職工號,項目號)P→ 項目名稱

故上述職工關系不符合第二範式要求。它存在三個問題:插入異常、刪除異常和修改異常。

其中修改異常是這樣的,當職工關系中項目名稱發生變化時,由於參與該項目的人員很多,每人一條記錄,要修改項目信息,就得對每一個參加該項目的人員信息進行修改,加大了工作量,還有可能發生遺漏,存在著數據一致性被破壞的可能。

可把上述職工關系分解成如下三個關系:

職工(職工號,姓名,職稱)

參與項目(職工號,項目號,項目角色)

項目(項目號,項目名稱)

上述三個關系都符合定義2的要求,所以都符合2NF

推論:如果關系模式R∈1NF,且它的每一個候選碼都是單碼,則R∈2NF

符合第二範式的關系模式仍可能存在數據冗餘、更新異常等問題。如關系

職工信息(職工號,姓名,職稱,系名,系辦地址)

雖然也符合2NF,但當某個系中有100名職工時,元組中的系辦地址就要重復100次,存在著較高的數據冗餘。原因是關系中,系辦地址不是直接函數依賴於職工號,而是因為職工號函數決定系名,而系名函數決定系辦地址,才使得系辦地址函數依賴於職工號,這種依賴是一個傳遞依賴的過程。

所以,上述職工信息的關系模式還需要進一步的規范化。

四、第三範式(3NF)

定義1:在關系R中,X、Y、Z是R的三個不同的屬性或屬性組,如果X→Y,Y→Z, 但Y→X,且Y不是X的子集,則稱Z傳遞函數依賴於X。

定義2:如果關系模式R∈2NF,且它的每一個非主屬性都不傳遞依賴於任何候選碼,則稱R是第三範式,記作:R∈3NF

推論1:如果關系模式R∈1NF,且它的每一個非主屬性既不部分依賴、也不傳遞依賴於任何候選碼,則R∈3NF

推論2:不存非主屬性的關系模式一定為3NF

五、改進的3NF——BCNF(Boyee-Codd Normal Form)

定義:設關系模式R(U,F)∈1NF,若F的任一函數依賴X→Y(Y X)中X都包含了R的一個碼,則稱R∈BCNF。

換言之,在關系模式R中,如果每一個函數依賴的決定因素都包含碼,則R∈BCNF

推論:如果R∈BCNF,則:

Ø R中所有非主屬性對每一個碼都是完全函數依賴;

Ø R中所有主屬性對每一個不包含它的碼,都是完全函數依賴;

Ø R中沒有任何屬性完全函數依賴於非碼的任何一組屬性。

定理:如果R∈BCNF,則R∈3NF一定成立。

證明:(結合傳遞依賴的定義,用反證法)

注意:當R∈3NF時,R未必屬於BCNF。因為3NF比BCNF放寬了一個限制,它允許決定因素不包含碼。例如:

通訊(城市名,街道名,郵政編碼)中:

F={(城市名,街道名)→郵政編碼,郵政編碼→城市名}

非主屬性郵政編碼完全函數依賴於碼,且無傳遞依賴,故屬於3NF,但郵政編碼也是一個決定因素,而且它沒有包含碼,所以該關系不屬於BCNF。

又如:

Teaching(Student,Teacher,Course) 簡記為Teaching(S,T,C)

規定:一個教師只能教一門課,每門課程可由多個教師講授;學生一旦選定某門課程,教師就相應地固定。

F={T→C,(S,C)→T,(S,T) →C}

該關系的候選碼是(S,C)和(S,T),因此,三個屬性都是主屬性,由於不存在非主屬性,該關系一定是3NF。但由於決定因素T沒包含碼,故它不是BCNF。

關系模式Teaching仍然存在著數據冗餘問題,因為存在著主屬性對碼的部分函數依賴問題。

確切地表示:F={T→C,(S,C)P→T,(S,T) P→C}

所以Teaching關系可以分解為以下兩個BCNF關系模式:

Teacher(Teacher,Course) Student(Student,Teacher)

3NF的「不徹底」性,表現在可能存在主屬性對碼的部分依賴和傳遞依賴。

一個關系模式如果達到了BCNF,那麼,在函數依賴范圍內,它就已經實現了徹底的分離,消除了數據冗餘、插入和刪除異常。
6.4 多值依賴和第四範式

一、多值依賴(Multivalued Dependency)

課程C
教員T
參考書B

物理
李勇
普通物理學

物理
李勇
光學原理

物理
李勇
物理習題集

物理
王軍
普通物理學

物理
王軍
光學原理

物理
王軍
物理習題集

數學
李勇
數學分析

數學
李勇
微分方程

數學
李勇
高等代數

數學
張平
數學分析

數學
張平
微分方程

數學
張平
高等代數

計算數學
張平
數學分析

計算數學
張平
計算數學

計算數學
周峰
數學分析

計算數學
周峰
計算數學

課程C
教員T
參考書B

物理
李勇

王軍
普通物理學

光學原理

物理習題集

數學
李勇

張平
數學分析

微分方程

高等代數

計算數學
張平

周峰
數學分析

計算數學

例:學校中某一門課程由多個教員講授,他們使用相同的一套參考書,每個教員可以講授多門課程,每種參考書可以供多門課程使用。下列是用一個非規范化的表來表示教員T,課程C和參考書B之間的關系。

把上表變換成一張規范化的二維表Teaching,如右表

關系模式Teaching(C,T,B)的碼是(C,T,B),即All-Key。因而Teaching∈BCNF。按照上述語義規定,當某門課程增加一名講課教員時,就要向Teaching表中增加與相應參考書等數目的元組。同樣,某門課程要去掉一本參考書時,則必須刪除相應數目的元組。

對數據的增、刪、改很不方便,數據的冗餘也十分明顯。如果仔細考察這類關系模式,會發現它具有一種稱之為多值依賴的數據依賴關系。

定義:設R(U)是屬性集U上的一個關系模式,X,Y,Z是U的子集,且Z=U-X-Y。如果對R(U)的任一關系r,給定一對(x,z)值,都有一組y值與之對應,這組y值僅僅決定於x值而與z值無關。則稱Y多值依賴於X,或X多值決定Y,記作:X→→Y。――

例如,在關系模式Teaching中,對於一個(C,B)值(物理,普通物理學),有一組T值{李勇,王軍},而這組值僅僅決定於課程C上的值(物理)。即對於另一個(物理,光學原理),它對應的T值仍然是{李勇,王軍},所以T的值與B的值無關,僅決定於C的值,即C→→T 。

多值依賴的另一個等價的形式化定義為:

設關系模式R(U),X、Y、Z是U的子集,Z=U-X-Y,r是R的任意一個關系,t1、t2是r的任意兩個元組。如果t1[X]=t2[X],並在r中存在兩個元組t3、t4,使得:

t3[X]=t4[X]=t1[X]

t3[Y]=t1[Y],t3[Z]=t2[Z],

t4[Y]=t2[Y],t4[Z]=t1[Z]

成立,則X→→Y。

換句話說:如果X→→Y在R(U)中成立,則只要在R的任一關系r中存在兩個元組t1、t2在X屬性上的值相等,則交換這兩個元組在Y(或Z)上的值後得到的兩個新元組t3、t4也必是關系r中的元組。

定義中如果Z=Ф(空集),則稱X→→Y為平凡的多值依賴,否則為非平凡的多值依賴。

多值依賴具有如下性質:

1. 對稱性:若X→→Y,則X→→Z,其中Z=U-X-Y

2. 傳遞性:若X→→Y,Y→→Z,則X→→Z-Y

3. 若X→→Y,X→→Z,則X→→YZ

4. 若X→→Y,X→→Z,則X→→Y∩Z

5. 若X→→Y,X→→Z,則X→→Y-Z,X→→Z-Y

多值依賴與函數依賴相比,具有下面兩個基本區別:

(1)多值依賴的有效性與屬性集的范圍有關

若X→→Y在U上成立,則在V(XY V U)上一定成立;反之則不然,即X→→Y在V(V U)上成立,在U上並不一定成立。這是因為多值依賴的定義中不僅涉及屬性組X、Y,而且涉及U中的其餘屬性Z(Z=U-X-Y)。

一般地說,在R(U)上若有X→→Y在V(V U)上成立,則稱X→→Y為R(U)的嵌入型多值依賴。

而在關系模式R(U)中函數依賴X→Y的有效性,僅決定於X和Y這兩個屬性集的值。只要在R(U)的任何一個關系r中,元組在X和Y上的值使得X→Y成立,則X→Y在任何屬性集V(XY V U)上也成立。

(2)若函數依賴X→Y在R(U)上成立,則對於任何Y』 Y 均有X→Y』 成立。而多值依賴X→→Y若在R(U)上成立,卻不能斷言對於任何Y』 Y有X→→Y』 成立。

多值依賴的約束規則:在具有多值依賴的關系中,如果隨便刪去一個元組,就會破壞其對稱性,那麼,為了保持多值依賴關系中的「多值依賴」性,就必須刪去另外的相關元組以維持其對稱性。這就是多值依賴的約束規則。目前的RDBMS尚不具有維護這種約束的能力,需要程序員在編程中實現。

函數依賴可看成是多值依賴的特例,即函數依賴一定是多值依賴。而多值依賴則不一定就有函數依賴。

二、第四範式(4NF)

定義:如果關系模式R∈1NF,對於R的每個非平凡的多值依賴X→→Y(Y X),X含有碼,則稱R是第四範式,即R∈4NF

課程C
教員T
參考書B

物理
李勇
普通物理學

物理
李勇
光學原理

物理
李勇
物理習題集

物理
王軍
普通物理學

物理
王軍
光學原理

物理
王軍
物理習題集

數學
李勇
數學分析

數學
李勇
微分方程

數學
李勇
高等代數

數學
張平
數學分析

數學
張平
微分方程

數學
張平
高等代數

計算數學
張平
數學分析

計算數學
張平
計算數學

計算數學
周峰
數學分析

計算數學
周峰
計算數學

Teaching關系

關系模式R∈4NF時,R中所有的非平凡多值依賴實際上就是函數依賴。因為每一個決定因素中都含有碼,所以R一定屬於BCNF。

4NF實際上就是限制關系模式的屬性間不允許有非平凡,而且非函數依賴的多值依賴存在。反過來說,4NF所允許的非平凡多值依賴實際上是函數依賴。

例題中的Teaching關系屬於BCNF,但它不屬於4NF。因為它的碼是(C,T,B),關系中存在非平凡多值依賴C→→T ,C→→B,但C不包含碼,而只是碼的一部分。

課程C
參考書B

物理
普通物理學

物理
光學原理

物理
物理習題集

數學
數學分析

數學
微分方程

數學
高等代數

計算數學
數學分析

計算數學
計算數學

CB關系

課程C
教員T

物理
李勇

物理
王軍

數學
李勇

數學
張平

計算數學
張平

計算數學
周峰

CT關系

要使Teaching關系符合4NF,必須將其分解為CT(C,T)和CB(C,B)兩個關系模式。如右表:

從表中顯而易見,符合BCNF的關系Teaching仍然存在著數據冗餘,而分解後的關系CT和CB中只有平凡多值依賴,所以符合4NF,它們已經消除了數據冗餘。可以說:BCNF是在只有函數依賴的關系模式中,規范化程度最高的範式,而4NF是在有多值依賴的關系模式中,規范化程度最高的範式。

如果關系模式中存在連接依賴,即便它符合4NF,仍有可能遇到數據冗餘及更新異常等問題。所以對於達到4NF的關系模式,還需要消除其中可能存在的連接依賴,才可以進一步達到5NF的關系模式。

關於連接依賴和5NF的內容,已超出了本課程教學大綱的要求,在此不再介紹。

㈦ 計算機資料庫理論知識

兩列聯合組成的數據在整張表中非空且唯一,沒有完全相同的,則這兩列就可以作為聯合主鍵。AB兩列的第一條數據和第三條數據相同,BC兩列的第一條數據和第三條數據相同,AC兩列的第一條數據和第三條數據相同,只有AD兩列的數據是沒有重復的,因此只有AD可以構成聯合主鍵。

㈧ 資料庫的理論基礎是什麼

資料庫原理

㈨ 資料庫技術的基本概念

資料庫技術涉及到許多基本概念,主要包括:信息,數據,數據處理,資料庫,資料庫管理系統以及資料庫系統等。
資料庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。資料庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題,在資料庫系統中減少數據存儲冗餘、實現數據共享、保障數據安全以及高效地檢索數據和處理數據。資料庫技術的根本目標是要解決數據的共享問題。 數據管理技術是對數據進行分類,組織,編碼,輸入,存儲,檢索,維護和輸出的技術.數據管理技術的發展大致經過了以下三個階段:人工管理階段;文件系統階段;資料庫系統階段.
人工管理階段
20世紀50年代以前,計算機主要用於數值計算.從當時的硬體看,外存只有紙帶,卡片,磁帶,沒有直接存取設備;從軟體看(實際上,當時還未形成軟體的整體概念),沒有操作系統以及管理數據的軟體;從數據看,數據量小,數據無結構,由用戶直接管理,且數據間缺乏邏輯組織,數據依賴於特定的應用程序,缺乏獨立性.
文件系統階段
50年代後期到60年代中期,出現了磁鼓,磁碟等數據存儲設備.新的數據處理系統迅速發展起來.這種數據處理系統是把計算機中的數據組織成相互獨立的數據文件,系統可以按照文件的名稱對其進行訪問,對文件中的記錄進行存取,並可以實現對文件的修改,插入和刪除,這就是文件系統.文件系統實現了記錄內的結構化,即給出了記錄內各種數據間的關系.但是,文件從整體來看卻是無結構的.其數據面向特定的應用程序,因此數據共享性,獨立性差,且冗餘度大,管理和維護的代價也很大.
資料庫系統階段
60年代後期,出現了資料庫這樣的數據管理技術.資料庫的特點是數據不再只針對某一特定應用,而是面向全組織,具有整體的結構性,共享性高,冗餘度小,具有一定的程序與數據間的獨立性,並且實現了對數據進行統一的控制. ⒈2.1數據模型的概念及要素數據模型是現實世界在資料庫中的抽象,也是資料庫系統的核心和基礎.數據模型通常包括3個要素:
⑴數據結構.數據結構主要用於描述數據的靜態特徵,包括數據的結構和數據間的聯系.
⑵數據操作.數據操作是指在資料庫中能夠進行的查詢,修改,刪除現有數據或增加新數據的各種數據訪問方式,並且包括數據訪問相關的規則.
⑶數據完整性約束.數據完整性約束由一組完整性規則組成.
⒈2.2 常用的數據模型
資料庫理論領域中最常見的數據模型主要有層次模型,網狀模型和關系模型3種.
⑴層次模型(Hierarchical Model).層次模型使用樹形結構來表示數據以及數據之間的聯系.
⑵網狀模型(Network Model).網狀模型使用網狀結構表示數據以及數據之間的聯系.
⑶關系模型(Relational Model).關系模型是一種理論最成熟,應用最廣泛的數據模型.在關系模型中,數據存放在一種稱為二維表的邏輯單元中,整個資料庫又是由若干個相互關聯的二維表組成的.
⒈2.2 常用的數據模型
當前,已經有一些流行的,也比較成熟的軟體產品能夠很好地支持關系型數據模型,這些產品也因此稱為關系型資料庫管理系統(Relational DataBase Management System,RDBMS).例如,微軟公司的Microsoft Access和MS-SQL Server,Sybase公司的Sybase,甲骨文公司的Oracle以及IBM公司的DB2.其中,Microsoft Access是一個中小型資料庫管理系統,適用於一般的中小企業;MS-SQL Server,Sybase和Oracle基本屬於大中型的資料庫管理系統;而DB2則屬於大型的資料庫管理系統,並且對計算機硬體有很高和專門的要求.

熱點內容
條件數演算法 發布:2024-10-01 00:35:25 瀏覽:634
python頭像 發布:2024-09-30 23:58:59 瀏覽:998
少年三國志腳本 發布:2024-09-30 23:58:59 瀏覽:703
ascii碼轉為字元c語言 發布:2024-09-30 23:44:50 瀏覽:1001
如何配置空調開關的安數 發布:2024-09-30 23:38:57 瀏覽:263
html表單php 發布:2024-09-30 23:34:35 瀏覽:629
搞笑解壓圖片大全 發布:2024-09-30 23:11:28 瀏覽:748
游戲源碼商 發布:2024-09-30 23:09:32 瀏覽:899
java物聯網 發布:2024-09-30 22:53:38 瀏覽:199
劍網3按鍵精靈腳本 發布:2024-09-30 22:45:38 瀏覽:942