qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          數據庫那點事兒

           文章開始之前,我先吐槽一下:現在的應屆畢業生丫,不知大學四年都干了什么,難道時間都花在戀愛上面,就算你想戀也沒得愛可給你戀的,你確實戀了的,我只能認為你在搞基。
            雖然我也是從大學四年搞基出來的,至少有些東西還是沒丟給老師。
            目錄:
            1. 數據類型
            2. 存儲引擎
            3. 名詞解析
            4. 實體 VS 類
            5. 關系型 VS 面向對象
            文章開始之前,還是先吐槽一下:那些從學校步入社會的人們丫,多上點心,別天天還搞基,傷身又傷心,底子薄沒事,不肯前進就是大事了,不是每個頭頭都這么好心,還一點一點給你們寫培訓文檔。
            本文都是Mysql為基礎。
            1. 數據類型
            1) 整數型
            tinyint
            int
            bigint
            當我問起int(20) 和int (12) 有區別嗎?(括號里面是長度)全場沉默了......
            2) 數值型
            decimal
            當我問起decimal 10,當數值長度操過10了,會怎么樣? 萬一是金融行業呢,你該咋辦? 全場沉默了......
            3) 字符型
            char
            varchar
            當我問起char(2) 和varchar(2)有區別嗎?(括號里面是長度)全場沉默了......
            當char字段和varchar字段使用索引的時候,他們有區別嗎?全場沉默了......
            tinytext
            text
            mediumtext
            text最大的大小是多少?text字段可以用索引嗎? 全場沉默了......
            4)時間型
            datetime
            timestamp
            datetime跟 timestamp有區別嗎?區別在哪里? 全場繼續沉默了......
            5)枚舉型
            enum
            一位童鞋站起來問到,enum(Y,N) 和 char(1)有區別嗎?
            2. 存儲引擎
            innodb
            myisam
            memory
            當我問起 innodb、  myisam有什么區別的時候,一位技術牛人,站起來,一棍子打死一群人,說直接用innodb就是了,現在的版本mysql默認都是推薦你使用innodb。
            如果真要說起來,就說到鎖了,這又是坑爹的話題。 還是那位技術牛人高....
            3. 名詞解析
            完整性
            冗余
            實體
            實體的關系
            關系型
            某位童鞋直接站起來說道:都扔給老師。 真的是佩服那位健忘的童鞋,有健忘癥真好,我這課我也丟給老師了。
          4 實體 VS 類
            該篇開始,我要說個知識:現在很多公司都是由下往上開發,今天我給你們講的是從上往下開發。
            當時有位比較資深的人員就說到,由下往上都是老一輩人喜歡的,因為那段時間里他們的思想沒受到面向對象編程的侵襲。
            從上往下是你們這群90后樂意做的事。
            由下往上:數據庫關系--->代碼編程---->界面
            由上往下:界面--->代碼編程---->數據庫關系
            這是要逆天的存在,先不管是否是不是逆天,先看下面的實例:
            class Person {
            public $name;
            public $age;
            public $sex;
            public $weight;
            }
            然后找了個童鞋轉了下數據結構
            id  int name  varchar(50) age  int sex  enum("男","女") weight int
            這位童鞋確實給力。
            然后我又寫了.
            $person1 = new Person();
            $person1->name = "張三';
            $person2= new Person();
            $person2->name = "李四';
            這位童鞋又寫出了如下
            id  int name  varchar(50) age  int sex  enum("男","女") weight int
            1 張三
            2 李四
            我相信當你看到這些,你應該知道發生了什么了吧!
            我繼續寫到:
            class Person {
            public $name;
            public $age;
            public $orders = array(new Order(),new Order());
            }
            class Order {
            public $money;
            public $items = array(
            "手把手教你做關鍵詞匹配項目",
            "屌絲的坑人表單神器"
            );
            }
            90后的小伙子很快就完成了:
            order表:
            order_id   person_id   money
            order_item表:
            item_id   order_id   item_name
            看了這個我翻然大悟,原來現在的應屆生對類感興趣,對實體和實體與實體之間的聯系免疫了。
            我大悟了,不知道那些童鞋了解了沒有,畢竟這個培訓是給那些童鞋的。
            5. 關系型 VS 面向對象
            面向對象 =>關系型 (90后太厲害了,不提了)
            最終總結:課后,他們希望我下節課講解下數據庫如何優化,我只能吐槽下:尼瑪,連tinyint,char,varchar,索引,鎖都搞不懂就來學數據庫如何優化,這是要整哪樣?
            當然我也對他們樂于要求感到高興,畢竟有需求就有動力。

          posted on 2014-09-02 09:51 順其自然EVO 閱讀(152) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沭阳县| 新余市| 正定县| 信丰县| 萨嘎县| 五莲县| 黔西县| 寿光市| 屏东市| 达日县| 星子县| 汝阳县| 喀什市| 容城县| 辽阳县| 新乡市| 枣庄市| 无为县| 鞍山市| 句容市| 辽阳县| 巩留县| 九龙坡区| 雷州市| 黔西县| 泌阳县| 松江区| 通州区| 萨嘎县| 通化市| 清镇市| 拜泉县| 陆河县| 新巴尔虎右旗| 通化县| 开化县| 昌邑市| 涟源市| 思南县| 都匀市| 辉南县|