mysql-關係型數據庫基礎理論(04)

DBMS(DataBase Management System)  數據庫管理系統

RDBMS(Relational DataBase Management System)  關係型數據庫管理系統



    數據的組織結構:

        層次型

        網狀型

        關係型(二維關係表)  注:一張表可能在系統中以多個文件存在。


    關係:關係代數運算

        投影:只輸出指定屬性

        選擇:只輸出符合條件的行

        自然連接

        笛卡爾集

        交集

        並集

        差集

        全集

        補集


    在mysql定義中,定義了一些維護數據庫完整的規則,即表的約束:


  •         主鍵約束(PRIMARY KEY):某字段能唯一標識此字段所屬的實體,不爲空

                    單字段主鍵  字段名 數據類型 PRIMARY KEY

                    多字段主鍵  PRIMARY KEY(字段1,字段2...)

  •         外鍵約束 (FOREIGN KEY):引用完整性約束


  •         非空約束 (NOT NULL):字段的值不能爲NULL

                    字段名 數據類型 NOT NULL

  •         唯一性約束 (UNIQUE):字段的值不能重複出現

                    字段名 數據類型 UNIQUE

  •         檢查性約束:mysql對其支持有限



mysql爲單進程,

       多線程(防止權限交叉):

            守護進程

            應用線程

       數據庫一般爲系統性能的瓶頸,之所以這麼說,是因爲一個線程的創建(基於大數據的查詢),有可能會消耗大量內存,因此生產環境一般使用64bit系統,並且儘量避免單點併發,同時做數據庫的緩存和線程複用。       


MYSQL插件式存儲引擎(是基於表的)

5.5.8       MyISAM(適用於查詢比較多,修改比較少的,即數據倉庫,無事務,表鎖)

             .frm:表結構定義文件

             .MYD:表數據

            .MYI:索引

5.5.8以後:     InnoDB(適用於在線事務處理系統,支持行鎖)

            .frm:表結構定義文件

            .ibd:表空間(數據和索引)

wKiom1cMu0_D7t-fAAATW1xDXso621.pngwKiom1cMvbrjz6sKAAIcwR-w5XY113.png

    用戶發起連接請求,連接管理器接受並轉發給線程管理器,線程管理器生成一個線程,接着由用戶模塊來驗證相應的訪問權限,權限正確,建立連接。命令分發模塊,執行命令,若緩存中有相應結果則返回,並記錄日誌,否則,通過解析器解析命令,交給底層相關模塊。


mysql(client)mysqld(server)位於同一臺主機

    unix/linux:使用socket通信

    windows:通過共享內存(memory)或者管道(pipe)通信

  

不在同一臺主機

    基於TCP/IP協議通信


mysql客戶端工具:

    mysql

    mysqldump    備份

    mysqladmin

    mysqlcheck

    

   options

    -u

    -h

    -p

    --protocol

    --port


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章