數(shù)據(jù)庫初期設(shè)計(jì)非常重要。如果初期設(shè)計(jì)不好,雖然在剛開始運(yùn)營的時(shí)候,看上去很良好,時(shí)間一長,會(huì)出現(xiàn)很多麻煩的問題。所以,深圳網(wǎng)站制作公司提醒一開始的數(shù)據(jù)庫設(shè)計(jì)要考慮將來的擴(kuò)展性問題。一般來說,數(shù)據(jù)庫的設(shè)計(jì)由程序員來完成,即便如此,策劃人員也需要對數(shù)據(jù)庫的概念有很好的了解才行,這樣才能很好地把握產(chǎn)品的開發(fā)進(jìn)程。
常用的數(shù)據(jù)庫有MS-SQL,Oracle,MySQL三種。這些數(shù)據(jù)庫是關(guān)系型的數(shù)據(jù)庫。一個(gè)數(shù)據(jù)庫由好幾張表組成,每個(gè)表則由field和laycode組成,各個(gè)數(shù)據(jù)庫表之間則相互關(guān)聯(lián)。因?yàn)楸砼c表之間的相互關(guān)聯(lián),一個(gè)表的錯(cuò)誤或者改變將影響到其他數(shù)據(jù)表,所以,設(shè)計(jì)數(shù)據(jù)庫之前,不能想到哪里算哪里,需要整體把握整個(gè)數(shù)據(jù)庫的結(jié)構(gòu)。所以需要做數(shù)據(jù)庫結(jié)構(gòu)圖。
數(shù)據(jù)庫設(shè)計(jì)在進(jìn)行物理實(shí)踐之前,需要對數(shù)據(jù)邏輯進(jìn)行詳盡的設(shè)計(jì),對需求要有充分的理解。同時(shí),創(chuàng)建ER表(EntityRelationshipDiagram),也就是實(shí)體關(guān)系圖表和數(shù)據(jù)字典。雖然需要耗費(fèi)不少時(shí)間,但有利于其他開發(fā)人員了解整個(gè)設(shè)計(jì)計(jì)劃,可讓其他相關(guān)人員明確如何從數(shù)據(jù)庫中獲取數(shù)據(jù)。而且實(shí)體關(guān)系圖表對理清表之間的關(guān)系非常有效,數(shù)字字典則說明每個(gè)字段的用途及可能存在的別名。總之,設(shè)計(jì)人員把它文檔化是非常必要的。
下面舉一個(gè)簡單的例子說明數(shù)據(jù)庫實(shí)體關(guān)系圖,主要說明大概的原理,實(shí)際的數(shù)據(jù)庫設(shè)計(jì)要比這個(gè)復(fù)雜。
簡單來說,ER圖表(EntityRelationshipDiagram),是以實(shí)體、屬性和關(guān)系作為數(shù)據(jù)的基本結(jié)構(gòu),用以描述數(shù)據(jù)本身的。所謂的實(shí)體,指的是數(shù)據(jù)庫內(nèi)存儲數(shù)據(jù)的人、事、物等。每個(gè)實(shí)體是有屬性的,比如學(xué)生有學(xué)號、班級、性別、籍貫等,把屬性集合起來,就成了一個(gè)記錄。關(guān)系主要指實(shí)體之間的關(guān)系,有一對一,一對多,和多對多的關(guān)系。
比如說沃爾瑪有若干分店,每個(gè)分店經(jīng)營若干商品,每個(gè)商店有若干職員。在這里,實(shí)體有商店、商品和職員。商店的屬性有商店的編號,地址,總經(jīng)理。商品的屬性有商品編號,商品名,價(jià)格,生產(chǎn)地。職員的屬性有職員編號,姓名,性別,工資。職員和商店的關(guān)系是一對一的關(guān)系。每個(gè)職員只屬于一個(gè)商店。一對多的關(guān)系,比如父親對兒子,一個(gè)父親可以有多個(gè)兒子。
再舉一個(gè)多對多的實(shí)體關(guān)系例子。比如說建立一個(gè)網(wǎng)上電子商城,商品和購買的會(huì)員是實(shí)體。商品有編號、名稱、價(jià)格、庫存的屬性。會(huì)員有編號、姓名、地址、聯(lián)系電話的屬性。而同類商品可以賣給多個(gè)會(huì)員,會(huì)員可以購買多件商品,所以兩者間的關(guān)系是屬于多對多的關(guān)系。
圖1-1中,商品需要建立商品資料的記錄表,會(huì)員也需要建立會(huì)員資料的記錄表。由于商品和會(huì)員兩個(gè)實(shí)體之間的關(guān)系是多對多的關(guān)系,所以,除了兩個(gè)實(shí)體,除商品和會(huì)員各建立一個(gè)表外,還需要建立第三個(gè)關(guān)聯(lián)表,這就是交易關(guān)系的表。商品和會(huì)員兩個(gè)實(shí)體以商品編號和會(huì)員ID作為表的主鍵,這兩個(gè)主鍵做交易關(guān)系表的外鍵。這樣,商品編號關(guān)聯(lián)到商品表,會(huì)員ID關(guān)聯(lián)到會(huì)員表。交易編號則作為交易關(guān)系表的主鍵。這樣可查詢出會(huì)員購買了哪些商品、銷售量是多少、哪些商品最受歡迎等數(shù)據(jù)。
圖1-1 實(shí)體關(guān)系圖
表1-1 是關(guān)于商品的數(shù)據(jù)。
表1-1 商品的數(shù)據(jù)。
表1-2 是關(guān)于會(huì)員數(shù)據(jù)的。
表1-2 會(huì)員數(shù)據(jù)
表1-3 是關(guān)于交易的。
表1-3 交易關(guān)聯(lián)表
表1-1、1-2主要是商品和會(huì)員的實(shí)體表,表1-3是關(guān)聯(lián)表,表示兩者多對多的關(guān)系。通過商品編號關(guān)聯(lián)到商品表,通會(huì)員ID關(guān)聯(lián)到會(huì)員表。
在實(shí)際的數(shù)據(jù)庫設(shè)計(jì)中會(huì)遇到很多更加復(fù)雜的需求。作為策劃人員,雖然不直接設(shè)計(jì)數(shù)據(jù)庫,但是要能夠讀懂?dāng)?shù)據(jù)庫的實(shí)體關(guān)系圖。網(wǎng)站制作公司本文關(guān)于“網(wǎng)站制作舉例說明數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)”的知識就介紹分析到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。