如何在資料庫中創建一個方法?

面試的時候碰到主考官問的一個問題,如何在資料庫中創建一個方法?百思不得其解,各位數據的大嬸們對這個問題有什麼看法嗎?


本來不想回答這種問題,然而看了看討論貌似劇情走向很奇怪。就事論事,咱們都不要針對人身哈。

明白的說,面試官問你這個,肯定就是要問你 MySQL 里如何建立存儲過程,不放心你可以當面給他確定是不是存儲過程,stored procedure。很多有Java或類似技術背景,而不是資料庫為第一技術的工程師,會下意識的跟 method 混為一談。這是個錯誤,或者至少說不嚴謹,不過理解以後也不會造成很大困擾。

為了確定Oracle有沒有把 Schema 翻譯成「方法」的潮流,我特意去找了十幾年前《Oracle 9i 務實管理講座》的底稿,意外的發現我當初跟作者交流的MSN記錄還在。當時我們是確定為「模式」的。儘管我和何老師都不滿意,但是一時也沒有更好的譯法。他其實更傾向「綱要」。

我搜了一下,目前國內的相關社區通常也接受 shema 的譯法為模式,不過普遍來說大家更習慣直接說 schema ,比任何一種中文譯法都準確。

另外 MySQL 的 Schema 其實是其它資料庫中 Database 的概念,Oracle 和 PostgreSQL 的 schema 是指在資料庫下一級的命名空間分劃。

我還是第一次遇到有管 schema 叫「方法」的,年輕人的世界我是不懂啦。

PS: 那位雲和恩墨的朋友怎麼匿名了?我看見你啦。順便感謝指出拼寫錯誤哈。

請不要在即時消息對話中透露您的密碼或信用卡號碼。

Rich 說:
hi
Rich 說:
sorry 剛剛在開會
劉鑫 說:
沒關係啦
劉鑫 說:
您認為把「schema」譯為「模式」如何?
Rich 說:
我有回覆您這封 mail
Rich 說:
看來您沒收到
Rich 說:
我覺得怪怪的
劉鑫 說:
今天沒有收到
劉鑫 說:
只有無數boost的mail list
Rich 說:
通常我們將 mode 譯為 "模式"
劉鑫 說:
「模式」很形像的表示這些schema的地位啊
Rich 說:
在 Oracle 資料庫內, schema 代表某位使用者的所有 database objects
劉鑫 說:
而且,以前也確有這樣的譯法,不會因新創而過於搶眼
Rich 說:
而 Oracle 資料庫內有一個 schema objects 名詞
劉鑫 說:
這倒是
Rich 說:
這個字比較麻煩
劉鑫 說:
不過「模式對象」也可以說的過吧
Rich 說:
schema object = database object
Rich 說:
模式對象 ?= 數據庫對象
劉鑫 說:
我是無可奈何了,只有標註英文了
Rich 說:
哈哈
Rich 說:
好的
Rich 說:
我想, 如果您覺得 "模式對象" 可以表達其意義
Rich 說:
我也不反對
劉鑫 說:
其實真是為了與「架構」區分罷了
劉鑫 說:
現在天天對著這個詞苦吟
Rich 說:
哈哈哈
劉鑫 說:
我已經開始覺得「綱要」也很可愛了
Rich 說:
辛苦您了
Rich 說:
我當初也是這樣
劉鑫 說:
可不敢當,我只是做一個介紹工作而已
劉鑫 說:
如果這都做不好,讓讀者閱讀時因我的失誤有所困難
劉鑫 說:
就不好了
Rich 說:
其實 "綱要" 不一定能夠表達其意思, 可是已經不知不覺變成通用字
Rich 說:
所以我才決定譯為綱要
Rich 說:
非常謝謝您的用心
劉鑫 說:
我想要不我今晚給湯韜去封信,看能不能在書中專門提一下這個詞的使用問題
Rich 說:
好啊
Rich 說:
要不我也增加一段說明, 就像我說明 "instance" 這個字一樣
劉鑫 說:
也好
劉鑫 說:
我們都和湯韜聯繫一下,說明這個問題
Rich 說:
好的
Rich 說:
我會抽空補一段說明文字
劉鑫 說:
特別請您詳細介紹一下「schema」和「schema object」的含底 ,這樣讀者只要看到schema就會明白
劉鑫 說:
不會因為翻譯的問題影響理解
Rich 說:
ok
Rich 說:
非常好的建議
劉鑫 說:
那麼這個問題先這樣定下來,以「模式」+「英文標註」+「schema」註解
Rich 說:
好的
Rich 說:
我要先離開公司了
劉鑫 說:
好的,我也去吃飯了
劉鑫 說:
再見
Rich 說:
bye


謝邀。

Orz...估計考官是想問你:
1.你會不會編程,比如Java C#什麼的。
2.你是否知道資料庫有存儲過程、視圖、函數之類的東西。

估計考官所謂的資料庫里的方法,指的就是存儲過程、視圖、函數。因此,如何創建,請查文檔吧。
------------------------------------
2015-07-02 更新:
沒想到不經意的幾句回答,居然又被天真可愛的Oracle的DBA給噴了。我發現Java老司機與Oracle老司機最喜歡噴人了...

不過,老夫剛好半年前才幹掉一個灣區Oracle的開發,注意是【開發】,人家是設計Oracle的。你個渣渣dba充其量只是Oracle的使用者,算個球。

另外,【劉鑫】真猛,直接把別人打臉打到匿名了,哈哈哈哈..

對了,之前那貨沒匿名時,忘了截圖了,我真是失敗~


Sql Clr 看著你們


推薦閱讀:

MySQL已經可以干大部分事情了,還有必要使用商業資料庫或者PostgreSQL嗎?
SQL Server和Oracle,我該選擇哪一個去深入學習?他們各有什麼優勢和劣勢?Ps.我是做.NET開發的。
什麼操作用協程比較好?
用 python 寫的爬蟲,有哪些提高的技能?
學校圖書館購買的資料庫是什麼?

TAG:資料庫 | MySQL | 甲骨文Oracle |