數據庫那點事兒


客串:屌絲的坑人表單神器

推薦:手把手教你做關鍵詞匹配項目(搜索引擎)---- 第十七天

文章開始之前,我先吐槽一下:現在的應屆畢業生丫,不知大學四年都干了什么,難道時間都花在戀愛上面,就算你想戀也沒得愛可給你戀的,你確實戀了的,我只能認為你在搞基。

雖然我也是從大學四年搞基出來的,至少有些東西還是沒丟給老師。

目錄:

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,索引,鎖都搞不懂就來學數據庫如何優化,這是要整哪樣?

當然我也對他們樂於要求感到高興,畢竟有需求就有動力。

 

當然那么多為什么,還是要解決的,靠什么解決呃,我已經全丟給老師了,咋辦? 下面評論區肯定有熱心人來吐槽這些問題的,放心吧.....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM