網際網路與資料庫的對話錄
2002/06/18
小君隨便從路旁的一台提款機提領了數千塊之後,就和小博二個人迷失流浪在忠孝東路後面的一「托拉庫」的巷子裡,不是找不到「尬意」的東西吃,也不是巷子太錯縱複雜而迷路了,而是吃的東西與種類都太多了,三步一小館,五步一家大餐廳,每一家看起來都相當地美味,為了怕「入錯行,嫁錯郎」吃到實際味道和門口招牌秀出來相差太多的食物,他們逐家逐家仔細地觀察與評判,希望能從中找尋到一些證明這家館子美味好吃的蛛絲馬跡,皇天不負苦心人,終於讓他們在觀察了數十家餐館之後,找到了他們晚餐的最後依歸—「XXXX(不能做廣告,所以打馬克)」。小博小君二話不說,馬上走進去,椅子都還沒坐熱,菜就已經點了一大堆,負責招待的小姐嘴巴張得大大的,驚訝地看著他們,心裡只想著一件事—這對男女吃得下那麼多東西嗎?不過給錢的就是大爺,小姐雖然有千百個疑問,還是得乖乖地退下,幫他們兩人張羅張羅去了。
小君從餐桌上放置的抽取式衛生紙盒裡抽了幾張衛生紙,其中幾張擦擦桌子,檢查看乾不乾淨,另外幾張衛生紙對折之後,擦一擦店家預先擺設好的碗筷。小君一邊擦拭一邊提問題:「小博,知道這麼多資料庫的理論之後,我想知道實際上的資料庫到底長甚麼樣子耶。」
小博覺得很不好意思,怎麼這些工作都是小君一個人在做,他卻傻呼呼地坐在旁邊不知道要做什麼,突然間他靈機一動,拿起桌上倒立的茶杯,倒了二杯茶,一杯遞給小君,一杯挪向自己這邊。他一邊做這件事一邊回答:「實際上的資料庫是由一個資料檔所組成,而一個資料檔包含了一些邏輯的資料結構,像表格、查詢、報表格式、表單等等一些資料庫的物件。」
小君愛乾淨的習慣,從學生時代就眾人皆知,每到一個地方吃東西,總要親自確定每樣餐具都是乾乾淨淨後才肯就食,因此小博早就見怪不怪了。小君在確定每樣餐具都清潔完畢,才輕鬆下來,自由自在地問:「在公司裡面,我有用過Access,那些邏輯資料結構是不是相當於Access的物件呢?」
小博從剛剛到現在,已經連續喝了五六杯茶水下肚了,難怪以前同班同學都他「大水桶」,只見服務生才剛送上的一壺茶水,馬上就空空見底了。小博心滿意足地回答問題:「沒錯,當妳使用Access,準備開始建立資料庫的時候,系統就會先叫妳存檔,而這個檔案也就是資料檔。往後不管妳如何更新資料庫的物件,都不會像一些文書編輯、或是圖型編輯軟體一樣對檔案做儲存,而是只對物件做儲存。」
小君一邊喝小博倒給她的茶水,一邊把自己使用Access資料庫軟體的經驗告訴小博:「難怪每次我要關閉Access的時候,就直接關閉了,也不會問我要不要儲存檔案,原來資料庫檔案的結構與一般的檔案是不太一樣的。」
小博揮手請服務小姐過來,並舉起茶壺告訴他們茶水沒了,請他們重新再回沖一次。他一邊看著服務小姐走過來,一邊回應小君的問題:「是啊,或許妳已經知道,Access其實就是一種資料庫的軟體,因為這是Office的系列套裝軟體,所以大家會接觸到的機會比較多,其實像Oracle、DB2也都是市面上常見的資料庫軟體,以Oracle為例,它就是一種功能強大,但是價格昂貴的資料庫軟體。」
小君覺得這家店沖泡的茶滿好喝的,希望待會送上來的菜和茶一樣的可口美味。小君摸一摸肚子,發現一直說話的結果就是肚子會很餓,而且還餓極了。她頻頻回頭看菜送來了沒有,愈看肚子愈餓,愈餓就愈頻頻回頭去看,唉!真是惡性循環啊。為了轉移注意力,小君故意問小博:「原來還有這麼多種資料庫的軟體啊,我應該去跟我老闆講,讓他有多一點選擇。」
小博不僅肚子餓,腳也是酸得很,雖然一口氣先喝了五六杯茶水,但愈喝好像愈餓,餓到連腳酸這件事都快給忘記沒感覺了。他一邊把完手上的一雙筷子,一邊有氣無力地回答:「如果有經濟的考量的話,我倒是覺得Access還好,麻雀雖小五臟俱全。如果沒有的話,倒是可以選擇比較好的資料庫軟體來用。」
小君聽完小博的建議後,只好悠悠地說:「現階段看來本公司只能先使用Access了。」
小君:「資料庫的管理是不是也有一些安全上的考量啊?」
小博:「當然囉,如果資料庫的資料被非法使用,或者遭有意或無意的洩漏,可能對資料庫擁有者而言,都會造成極大的損失。」
小君:「那麼有沒有甚麼方法呢?」
小博:「有啊,最簡單的方法,就是驗證使用者的名稱以及密碼囉。」
小君:「這我知道,還有呢?」
小博:「給不同的使用者不同的存取權限,這樣一來,重要的資料就不易流入不相干的人員手上,而造成不必要的麻煩。」
小君:「嗯,這的確該這麼做,像我們公司,大家都有一樣的密碼,等於公司的打字小妹到總經理,有的權限都相同,實在是不太安全。」
小博:「沒錯,而且為了可以即時的知道資料庫的使用狀況,以免不當的使用者竊取或竄改資料,應該讓使用者有權限監視資料庫中資料的存取狀況與系統的使用情況。」
小君:「這的確是個好方法。」
小博:「剛剛講到權限,其實一個人的權限越大,所能造成的傷害與影響也越大,可是又不能降低權限,而影響到正常的工作。」
小君:「沒錯啊,其實從政治的角度,就可以了解這個道理了。」
小博:「為了讓權限有所區分與適當配置,一般的資料庫軟體將將權限分成兩種。」
小君:「那兩種啊?」
小博:「第一種就是系統權限,也就是系統中能夠執行特殊資料庫指令的權力。」
小君:「也就是說,高階的主管以及程式設計師才有這樣的權力囉。」
小博:「一般來說是這樣沒錯。然而另一種就是一般使用者可以使用的物件權限了。」
小君:「也就是我這種基層員工囉。」
小博:「妳還真懂得自嘲啊。」
小君:「無奈啊。」
小博:「有時候這些權限不是直接給某個使用者,而是指定給一個角色。」
小君:「怎麼要開始演戲了,角色都出來了。」
小博:「的確很像演戲,當導演指派妳一個角色,妳就必須得像那個角色,不是嗎?」
小君:「當然囉,要演甚麼像甚麼嘛。」
小博:「沒錯,有些系統,像Oracle,是將權限指派給某個角色,然後再將角色指派給使用者。這樣的管理有甚麼優點,妳試著說說看。」
小君:「嗯,這樣的管理,系統要設定權限時,如果很多使用者的權限都一樣,那只要設定給某個代表那些使用者的角色就可以啦。如此一來,就方便對於權限的管理了。」
小博:「很有概念喔。小君越來越有專家的架勢了。」
小君:「你不嫌棄罷了。」