希望你開心,希望你健康,希望你幸福,希望你點(diǎn)贊!
最后的最后,關(guān)注喵,關(guān)注喵,關(guān)注喵,佬佬會看到更多有趣的博客哦!??!
喵喵喵,你對我真的很重要!文章來源:http://www.zghlxwxcb.cn/news/detail-766862.html
目錄
前言
認(rèn)識數(shù)據(jù)庫
常見的數(shù)據(jù)庫管理系統(tǒng)應(yīng)用案例。
? ? ? 1.?dāng)?shù)據(jù)(Data)
? ? ? 2.?dāng)?shù)據(jù)庫(DataBase ,簡稱DB )
3.?dāng)?shù)據(jù)庫管理系統(tǒng)(DBMS)? ?
認(rèn)識關(guān)系型數(shù)據(jù)庫
實(shí)體、屬性、聯(lián)系
繪制E-R圖
關(guān)系模式的規(guī)范化
1.第一范式(1NF)
2.第二范式(2NF)
3.第三范式(3NF)
4.第二范式(2NF)和第三范式(3NF)的區(qū)別
E-R圖
實(shí)體間的聯(lián)系
聯(lián)系(Relationship)的基本概念
聯(lián)系的度數(shù)
映射基數(shù)
一對一聯(lián)系(1:1)
一對多聯(lián)系(1:n)
多對多聯(lián)系(m:n)
E-R圖
E-R圖的畫法
舉個(gè)栗子
前言
學(xué)習(xí)數(shù)據(jù)庫,一般要先學(xué)數(shù)據(jù)庫原理。
將面對很多抽象難懂的概念和理論知識,如數(shù)據(jù)模型、實(shí)體、屬性、聯(lián)系、E-R圖、關(guān)系模式和數(shù)據(jù)建模等。
初學(xué)者,會感覺原理部分特別的枯燥。
了解數(shù)據(jù)庫的基本概念;
認(rèn)識關(guān)系模型和關(guān)系型數(shù)據(jù)庫;
認(rèn)識實(shí)體和屬性;
認(rèn)識C/S 、B/S模式架構(gòu);
學(xué)習(xí)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和邏輯設(shè)計(jì)方法。
學(xué)習(xí)關(guān)系模式的規(guī)范化;
繪制E-R圖,建立數(shù)據(jù)庫概念模型;
將E-R圖轉(zhuǎn)換成關(guān)系模式進(jìn)行數(shù)據(jù)模型的建立
一、了解實(shí)體之間的聯(lián)系
二、熟悉概念模型表示方法E-R圖
三、掌握E-R圖的畫法
認(rèn)識數(shù)據(jù)庫
常見的數(shù)據(jù)庫管理系統(tǒng)應(yīng)用案例。
1.留言板。
2.進(jìn)銷存管理系統(tǒng)。
3.ERP系統(tǒng)。
4.圖書管理系統(tǒng)。
? ? ? 1.?dāng)?shù)據(jù)(Data)
數(shù)據(jù)實(shí)際上就是描述事物的符號記錄。如文字、數(shù)字、日期時(shí)間、圖片、音頻、視頻等。
? ? ? 2.?dāng)?shù)據(jù)庫(DataBase ,簡稱DB )
數(shù)據(jù)庫是長期儲存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。
數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。
3.?dāng)?shù)據(jù)庫管理系統(tǒng)(DBMS)? ?
數(shù)據(jù)庫管理系統(tǒng)是一個(gè)負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)組織、數(shù)據(jù)操縱、維護(hù)、控制以及數(shù)據(jù)保護(hù)和數(shù)據(jù)服務(wù)等的軟件系統(tǒng),是數(shù)據(jù)庫的核心。
常用的數(shù)據(jù)庫管理系統(tǒng)有MySQL、MS SQL Server、Oracle、DB2、Accesst和Sybase等。
認(rèn)識關(guān)系型數(shù)據(jù)庫
1.認(rèn)識數(shù)據(jù)模型
數(shù)據(jù)模型由3部分組成:模型結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。
DBMS所支持的數(shù)據(jù)模型分為三種:
層次模型:用樹形結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系
網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系
? ? ? ? 關(guān)系模型:將一個(gè)沒有重復(fù)行、重復(fù)列的二維表看成一個(gè)關(guān)系,每個(gè)關(guān)系都有一個(gè)關(guān)系? ? ? ? ? 名。每一行在關(guān)系中稱為元組(記錄)?,每一列在關(guān)系中稱為屬性(字段),每個(gè)屬? ? ? ? ? ? 性?都有一個(gè)屬性名,屬性值則是各元組屬性的取值。
2.認(rèn)識關(guān)系數(shù)據(jù)庫? ?
關(guān)系數(shù)據(jù)庫是創(chuàng)建在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫是以二維表來存儲數(shù)據(jù)庫的數(shù)據(jù)的。
關(guān)系模式是對關(guān)系的描述,即表的結(jié)構(gòu)。
格式:關(guān)系表名(字段1,字段2,…,字段n)
如:EMPLOYEES(E_ID,E_name,sex,Professional,education,Political,birth,marry,Gz_time,D_id,bz)
通常指定某個(gè)字段或字段的組合的值來唯一地表示對應(yīng)的記錄,我們把這個(gè)字段或字段的組合稱為主碼(也叫主鍵或關(guān)鍵字)。
實(shí)體、屬性、聯(lián)系
客觀存在并相互區(qū)別的事物稱為實(shí)體。如:
一個(gè)人、企業(yè)、學(xué)校、院系、學(xué)生。
要描述一位學(xué)生,可用學(xué)號、姓名和年齡等特征信息項(xiàng)來表示。學(xué)號、姓名和年齡就是學(xué)生的屬性,不同學(xué)生屬性不同。
實(shí)體與實(shí)體之間往往存在相互關(guān)系,叫“聯(lián)系”。聯(lián)系通常有3種:一對一(1∶1)關(guān)系、一對多(1∶M)關(guān)系和多對多(M∶N)關(guān)系。
繪制E-R圖
通常,在數(shù)據(jù)庫設(shè)計(jì)時(shí),通常用圖E-R圖(Entity-Relationship Approach來更加直觀地描述實(shí)體、實(shí)體的組成屬性,以及實(shí)體和實(shí)體之間的聯(lián)系。
用矩形表示實(shí)體,用橢圓表示實(shí)體的屬性,用菱形表示實(shí)體型之間的聯(lián)系,并用無向直線將其與相應(yīng)的實(shí)體連接起來。
復(fù)雜的,可先設(shè)計(jì)局部E-R圖,然后綜合并優(yōu)化
舉個(gè)栗子:
從E-R圖轉(zhuǎn)換為關(guān)系模式
一個(gè)關(guān)系數(shù)據(jù)庫由一組關(guān)系模式組成,稱為關(guān)系模型,每一個(gè)關(guān)系由一組屬性名組成。
departments(單位編號,單位名稱,主任,電話)
teachers(教師編號,教師姓名,性別,職稱,來校時(shí)間,單位編號)
students(學(xué)生編號,學(xué)生姓名,性別,出生日期,單位編號)
course(課程編號,課程名你,學(xué)時(shí),學(xué)分,單位編號)
selectcourse(學(xué)生編號,課程編號,成績)
teach(教師編號,課程編號)
在屬性下面加橫線表示主鍵。
關(guān)系模式不僅表示出了實(shí)體的數(shù)據(jù)結(jié)構(gòu)(屬性)關(guān)系,也反映了實(shí)體之間的邏輯聯(lián)系。
E-R圖中聯(lián)系如何轉(zhuǎn)換到關(guān)系模式中??
??????? 院系與教師是一對多的關(guān)系,把departments的主鍵(單位編號)加入到teachers的關(guān)系模式中,作為teachers的一個(gè)屬性,建立起之間的聯(lián)系。
??????? 學(xué)生與院系是一對多的關(guān)系,把departments的主鍵(單位編號)加入到students的關(guān)系模式中,作為students的一個(gè)屬性,建立起之間的聯(lián)系。
??????? 院系與課程的關(guān)系也是一對多的關(guān)系。
??????? 教師與課程是多對多的關(guān)系,要單獨(dú)對應(yīng)一個(gè)關(guān)系模式teach,把teachers的主鍵和course主鍵一起加入teach中,并共同作為主鍵,建立之間聯(lián)系。
?????? 學(xué)生與課程是多對多的關(guān)系,要單獨(dú)對應(yīng)一個(gè)關(guān)系模式selectcourse,把students的主鍵和course的主鍵一起加入到selectcourse,共同作為主鍵,建立起之間的聯(lián)系。
關(guān)系模式的規(guī)范化
構(gòu)造數(shù)據(jù)庫必須遵循一定的規(guī)則。在關(guān)系數(shù)據(jù)庫中,這種規(guī)則就是范式。關(guān)系按其規(guī)范化程度從低到高可分為5級范式,分別稱為1NF、2NF、3NF(BCNF)、4NF和5NF。
滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎(chǔ)上進(jìn)一步滿足更多要求的稱為第二范式(2NF),其余范式以此類推。
一般說來,數(shù)據(jù)庫只需滿足第三范式。
1.第一范式(1NF)
所謂第一范式(1NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,也不能有重復(fù)的屬性。
簡而言之,第一范式就是無重復(fù)的列。
teachers(教師編號,教師姓名,性別,職稱)
teachers(教師編號,教師姓名,性別,職稱,聯(lián)系方式) teachers(教師編號,教師姓名,性別,職稱,手機(jī),家庭電話,辦公電話,QQ)。
2.第二范式(2NF)
第二范式(2NF)必須首先滿足第一范式(1NF)。
(1)表必須有一個(gè)主鍵,實(shí)現(xiàn)每個(gè)記錄可以被唯一地區(qū)分。
(2)實(shí)體的其他屬性完全依賴于主鍵,而不能只依賴于主鍵的一部分(有時(shí)主鍵是由多個(gè)列組成的復(fù)合主鍵)。如果存在,那么這個(gè)屬性和主鍵的這一部分應(yīng)該分離出來形成一個(gè)新的實(shí)體,新實(shí)體與原實(shí)體之間是一對多的關(guān)系。
不滿足2NF的關(guān)系模式會出現(xiàn):插入異常、數(shù)據(jù)冗余、更新異常、刪除異常。
teachers(教師編號,教師姓名,性別,職稱)
Selectcourse(學(xué)生號,課程號,課程名,學(xué)時(shí),學(xué)分,成績)
course(課程號,課程名,學(xué)時(shí),學(xué)分)
selectcourse(學(xué)生號,課程號,成績)
3.第三范式(3NF)
滿足第三范式(3NF)必須先滿足第二范式(2NF),并且,要消除傳遞函數(shù)依賴。
teachers(教師號,姓名,性別,系別,系名,系主任,院系電話)
其中: (教師號)→(系別)→(系名,系主任,院系電話)
?teachers(教師號,姓名,性別,系別)
departments(系別,系名,系主任,院系電話)
不滿足第三范式(3NF)的關(guān)系往往造成數(shù)據(jù)的重復(fù)存儲(冗余)。
新關(guān)系包括兩個(gè)關(guān)系模式,它們之間通過teachers中的外鍵(系別)進(jìn)行聯(lián)系,需要時(shí)再進(jìn)行自然聯(lián)接,恢復(fù)了原來的關(guān)系。
同理,圖1.5所示的數(shù)據(jù)表也可以分拆為兩個(gè)。
Students(s_no,s_name,sex,birthday,address,d_ID)
Departments(d_ID,d_name,project)
4.第二范式(2NF)和第三范式(3NF)的區(qū)別
(1)2NF:非主鍵列是否完全依賴于主鍵,還是依賴于主鍵的一部分。
(2)3NF:非主鍵列是直接依賴于主鍵,還是直接依賴于勞動其他列。
E-R圖
實(shí)體間的聯(lián)系
聯(lián)系(Relationship)的基本概念
? 實(shí)體內(nèi)部及實(shí)體集之間的相互關(guān)系稱為聯(lián)系。
? 在現(xiàn)實(shí)世界中,事物之間常常有聯(lián)系。
? 例如,學(xué)生對課程的學(xué)習(xí)就是學(xué)生與課程之間的聯(lián)系,而部門對員工的管理就是員工同部門之間的聯(lián)系。
? 聯(lián)系是關(guān)系數(shù)據(jù)庫的最重要思想,它將若干離散的數(shù)據(jù)聯(lián)系到了一起,你可以通過一個(gè)實(shí)體查找到與它有關(guān)系的所有實(shí)體。
聯(lián)系的度數(shù)
??? 聯(lián)系的度數(shù)是指聯(lián)系所涉及的實(shí)體個(gè)數(shù)。按照聯(lián)系的度數(shù),可以把聯(lián)系分成以下幾類:
1)一元聯(lián)系
? 涉及單個(gè)實(shí)體的聯(lián)系,即1個(gè)實(shí)體內(nèi)部的聯(lián)系,遞歸聯(lián)系,自反聯(lián)系。
2)二元聯(lián)系
? 指兩個(gè)實(shí)體之間的聯(lián)系,這種聯(lián)系最為常見。
3)多元聯(lián)系
? 涉及兩個(gè)以上實(shí)體的聯(lián)系
映射基數(shù)
? 也叫映射比例,指明實(shí)體中的一個(gè)實(shí)例通過一個(gè)聯(lián)系能同另一實(shí)體相聯(lián)系的實(shí)例數(shù)目。映射的基數(shù)在描述二元聯(lián)系時(shí)非常有用。? 對于實(shí)體 A 和 B 之間的二元聯(lián)系 R 來說,映射基數(shù)只可能是下列三種(或四種)情況之一。? 1 )一對一聯(lián)系? 2 )一對多(或多對一)聯(lián)系? 3 )多對多聯(lián)系?按照映射基數(shù),可以把聯(lián)系分成以下幾類:一對一聯(lián)系(1:1) 、一對多聯(lián)系(1:n) 、多對多聯(lián)系(m:n)
一對一聯(lián)系(1:1)
? 設(shè)有兩個(gè)實(shí)體集A和B,如果實(shí)體集A與實(shí)體集B之間具有一對一聯(lián)系,則:實(shí)體集B中至多有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系;反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一的聯(lián)系,記為1:1 。
一對多聯(lián)系(1:n)
? 設(shè)有兩個(gè)實(shí)體集A和B,如果對于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對于實(shí)體集B中每一個(gè)實(shí)體,實(shí)體集A中至多有一個(gè)實(shí)體與之聯(lián)系。則稱實(shí)體集A與實(shí)體集B具有一對多聯(lián)系,記作(1:n)
多對多聯(lián)系(m:n)
? 有兩個(gè)實(shí)體集A和B,如果對于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體,(n≥0)與之聯(lián)系,反之,對于實(shí)體集B中每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對多聯(lián)系,記為m:n。
E-R圖
– 概念模型的表示方法很多,其中最為常用的是于 1976 年提出的實(shí)體 - 聯(lián)系方法 (Entity-Relationship Approach) ,即 E-R 模型。–– E-R 模型用 E-R 圖描述現(xiàn)實(shí)世界,構(gòu)造概念模型。–– E-R 圖最基本概念是實(shí)體、屬性和聯(lián)系。它描述清晰,易于用戶理解,是數(shù)據(jù)庫設(shè)計(jì)人員與用戶之間交流、溝通的有效工具。– E-R圖易于轉(zhuǎn)換為在計(jì)算機(jī)上最終實(shí)現(xiàn)的邏輯數(shù)據(jù)模型(如關(guān)系模型)和物理數(shù)據(jù)模型
E-R圖的畫法
?1.?E-R圖方法提供了表示實(shí)體集、屬性和聯(lián)系的方法,根據(jù)這三種基本成分的表示,對現(xiàn)實(shí)世界中的任何事物及其聯(lián)系,都可以用圖表示出來,這種圖就稱為E—R圖。
2.實(shí)體集與對應(yīng)屬性用線段(無向邊)連接,主碼用下劃線標(biāo)識
3.實(shí)體集間的聯(lián)系用菱形表示 ,聯(lián)系的屬性也用橢圓表示。
4.聯(lián)系的映射基數(shù)表示(一對一聯(lián)系(1:1) 、一對多聯(lián)系(1:n) 、多對多聯(lián)系(m:n) )
??????????
??
5、聯(lián)系的度數(shù)表示
? 一元聯(lián)系? 某一個(gè)職工領(lǐng)導(dǎo)若干名職工,而一個(gè)職工僅被一個(gè)領(lǐng)導(dǎo)所管理,而領(lǐng)導(dǎo)本身也是職工,從分析得知,職工實(shí)體存在著一對多的自關(guān)聯(lián)的領(lǐng)導(dǎo)關(guān)系。
? 二元聯(lián)系? ? ? ? ? ?編輯部要想管理在他們那里出版的論文及作者信息。一個(gè)作者允許出版若干論? ? ? ? ? ? ?文,一篇論文可以有若干作者.
? 三元(多元)聯(lián)系? 球隊(duì)參加籃球比賽,不同場次在不同的場地,不同場次有不同的球隊(duì),不同場次有不同的裁判。可見,場地、球隊(duì)、裁判間,都是因比賽而聯(lián)系在一起,且相互間都不可能一一 對應(yīng),而是多對多的聯(lián)系。![]()
6.實(shí)體間多重聯(lián)系的表示
? 某醫(yī)院要設(shè)計(jì)一個(gè)員工管理系統(tǒng),管理科室和醫(yī)生信息。每個(gè)科室有若干醫(yī)生,每個(gè)醫(yī)生只能屬于一個(gè)科室,每個(gè)科室有一位負(fù)責(zé)人,該負(fù)責(zé)人同時(shí)又是該科室的醫(yī)生。
? 醫(yī)生與科室兩個(gè)實(shí)體集間,存在1種以上的聯(lián)系。
7、畫E-R圖的基本步驟
a) 對需求進(jìn)行分析,從而確定系統(tǒng)中所包含的實(shí)體b) 分析得出每個(gè)實(shí)體所具有的屬性c) 找出每個(gè)實(shí)體的鍵d) 確定實(shí)體之間的聯(lián)系
舉個(gè)栗子
實(shí)際操作畫E-R圖
1)對需求進(jìn)行分析,從而確定系統(tǒng)中所包含的實(shí)體
①用戶:用于管理新聞發(fā)布系統(tǒng)中的用戶,根據(jù)用戶級別不同,用戶可能發(fā)布、審核、評論新聞,管理員還可以管理用戶。
②新聞類別:用于管理新聞發(fā)布系統(tǒng)中的新聞類別,每一條新聞屬于一個(gè)新聞類別。
③新聞:用于管理新聞發(fā)布系統(tǒng)中的新聞,這是新聞發(fā)布系統(tǒng)的主要實(shí)體。
④新聞評論:用于管理新聞發(fā)布系統(tǒng)中的新聞評論,每一條新聞可以有多個(gè)評論,每個(gè)用戶都可以針對不同新聞發(fā)表評論。
⑤部門:用于管理新聞發(fā)布系統(tǒng)中的部門,每一條新聞歸屬于一個(gè)部門,每一個(gè)部門包含一些用戶,部門又分級別,1級部門管理2級部門。
2)分析得出每個(gè)實(shí)體所具有的屬性
①用戶:用戶的屬性有編號、姓名、登錄密碼、級別、狀態(tài)等。
②新聞類別:新聞類別的屬性有編號、名稱、狀態(tài)等。
③新聞:新聞的屬性有編號、標(biāo)題、發(fā)布時(shí)間、點(diǎn)擊次數(shù)、新聞內(nèi)容等。
④新聞評論:新聞評論的屬性有編號、評論時(shí)間、評論內(nèi)容等。
⑤部門:部門的屬性有編號、名稱、狀態(tài)、部門等級等。
3)找出每個(gè)實(shí)體的鍵
①用戶:編號。
②新聞類別:編號。
③新聞:編號。
④新聞評論:編號。
⑤部門:編號。
4)確定實(shí)體之間的聯(lián)系
①部門包含用戶:一對多
②部門管理部門:一對多
③新聞類別包含新聞:一對多
④新聞歸屬部門:多對一
⑤用戶發(fā)布新聞:一對多
⑥用戶審核新聞:一對多
⑦用戶發(fā)布評論:一對多
希望你開心,希望你健康,希望你幸福,希望你點(diǎn)贊!
最后的最后,關(guān)注喵,關(guān)注喵,關(guān)注喵,佬佬會看到更多有趣的博客哦?。?!
喵喵喵,你對我真的很重要!
文章來源地址http://www.zghlxwxcb.cn/news/detail-766862.html
到了這里,關(guān)于[MySQL]數(shù)據(jù)庫原理1,三大范式,E-R圖,DataBase,數(shù)據(jù)庫管理系統(tǒng)(DBMS),Relationship,實(shí)體、屬性、聯(lián)系 映射基數(shù),關(guān)系型數(shù)據(jù)庫,聯(lián)系的度數(shù)等——喵喵期末不掛科的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!