您好,登錄后才能下訂單哦!
本篇內容介紹了“MySQL數(shù)據(jù)庫的基本概念”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
啟動:mysql -uroot –p 回車;
輸入密碼;
顯示數(shù)據(jù)庫:show databases;
1. 數(shù)據(jù)庫
數(shù)據(jù)庫(DB(databases的縮寫))是存放數(shù)據(jù)的倉庫,只不過這些數(shù)據(jù)存在一定的關聯(lián),并按一定的格式存放在計算機上。從廣義上講,數(shù)據(jù)不僅包含數(shù)字,還包括了文本、圖像、音頻、視頻等。
數(shù)據(jù)庫由一些持久的相互關聯(lián)數(shù)據(jù)的集合組成,并以一定的組織形式存放在計算機的存儲介質中。
www.2cto.com
2. 數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)(DBMS)是管理數(shù)據(jù)庫的系統(tǒng),它按一定的數(shù)據(jù)模型組織數(shù)據(jù)。DBMS應提供如下功能:
(1)數(shù)據(jù)定義功能可定義數(shù)據(jù)庫中的數(shù)據(jù)對象。
(2)數(shù)據(jù)操縱功能可對數(shù)據(jù)庫表進行基本操作,如插入、刪除、修改、查詢。
(3)數(shù)據(jù)的完整性檢查功能保證用戶輸入的數(shù)據(jù)應滿足相應的約束條件。
(4)數(shù)據(jù)庫的安全保護功能保證只有賦予權限的用戶才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。
(5)數(shù)據(jù)庫的并發(fā)控制功能使多個應用程序可在同一時刻并發(fā)地訪問數(shù)據(jù)庫的數(shù)據(jù)。
(6)數(shù)據(jù)庫系統(tǒng)的故障恢復功能使數(shù)據(jù)庫運行出現(xiàn)故障時進行數(shù)據(jù)庫恢復,以保證數(shù)據(jù)庫可靠運行。
(7)在網(wǎng)絡環(huán)境下訪問數(shù)據(jù)庫的功能。
(8)方便、有效地存取數(shù)據(jù)庫信息的接口和工具。編程人員通過程序開發(fā)工具與數(shù)據(jù)庫的接口編寫數(shù)據(jù)庫應用程序。數(shù)據(jù)庫管理員(DBA,DataBase Adminitrator)通過提供的工具對數(shù)據(jù)庫進行管理。
3. 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)與操作數(shù)據(jù)庫的應用程序,加上支撐它們的硬件平臺、軟件平臺和與數(shù)據(jù)庫有關的人員一起構成了一個完整的數(shù)據(jù)庫系統(tǒng)。下圖描述了數(shù)據(jù)庫系統(tǒng)的構成。
4. 數(shù)據(jù)庫管理系統(tǒng)根據(jù)數(shù)據(jù)模型對數(shù)據(jù)進行存儲和管理,數(shù)據(jù)庫管理系統(tǒng)采用的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和關系模型。 www.2cto.com
● 層次模型
以樹形層次結構組織數(shù)據(jù).
● 網(wǎng)狀模型
每一個數(shù)據(jù)用一個節(jié)點表示,每個節(jié)點與其他節(jié)點都有聯(lián)系,這樣數(shù)據(jù)庫中的所有數(shù)據(jù)節(jié)點就構成了一個復雜的網(wǎng)絡。
● 關系模型
以二維表格(關系表)的形式組織數(shù)據(jù)庫中的數(shù)據(jù)。例如學生表涉及的主要信息有學號、姓名、專業(yè)名、性別。
表格中的一行稱為一個記錄,一列稱為一個字段,每列的標題稱為字段名。如果給每個關系表取一個名字,則有n個字段的關系表的結構可表示為:關系表名(字段名1,…,字段名n),通常把關系表的結構稱為關系模式。
? 在關系表中,如果一個字段或幾個字段組合的值可唯一標志其對應記錄,則稱該字段或字段組合為碼。
? 有時一個表可能有多個碼,對于每一個關系表通??芍付ㄒ粋€碼為“主碼”,在關系模式中,一般用下橫線標出主碼。
按關系模型組織的數(shù)據(jù)表達方式簡潔、直觀,插入、刪除、修改操作方便,而按層次、網(wǎng)狀模型組織的數(shù)據(jù)表達方式復雜,插入、刪除、修改操作復雜。因此,關系模型得到了廣泛應用,MySQL是支持關系數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)。
5. 關系數(shù)據(jù)庫設計的主要任務:通過對現(xiàn)實世界中的數(shù)據(jù)進行抽象,得到符合現(xiàn)實世界要求的、能被RDBMS支持的數(shù)據(jù)模型。
即確定應用系統(tǒng)所使用的數(shù)據(jù)庫應包含哪些表,每個表的結構是怎樣的。
關系數(shù)據(jù)庫設計有三種:概念結構設計、邏輯結構設計、數(shù)據(jù)庫物理設計。
6. 設計步驟
需求分析:通過調查、收集和分析,明確用戶對數(shù)據(jù)庫的要求。
概念結構設計:對需求分析得到的用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。概念結構設計---建立實體-關系模型(Entity-Relationship,E-R)
– E-R模型直接從現(xiàn)實世界中抽象出實體類型和實體間聯(lián)系,然后用實體聯(lián)系圖(E-R圖)表示數(shù)據(jù)模型,是描述概念世界,建立概念模型的實用工具。
– 實體:客觀存在并可以相互區(qū)分的事物叫實體。從具體的人、物、事件到抽象的狀態(tài)、概念,都可以用實體抽象地表示。用矩形表示,矩形框內寫明實體名。
– 實體集:是共享公共性質的事物的集合。
– 屬性:每個實體集涉及的信息項稱為屬性,即是實體集的一種性質。用橢圓形表示,并用無向邊將其相應的實體連接起來。 www.2cto.com
– 實體集中的實體彼此是可區(qū)別的,如果實體集中的屬性或最小屬性組合的值能唯一標志其對應實體,則將該屬性或屬性組合稱為碼。對于每一個實體集,可指定一個碼為主碼。
實體集A和實體集B之間存在各種關系,通常把這些關系稱為“聯(lián)系”。
聯(lián)系用菱形表示,通過直線與實體相連。這樣構成的圖就是E-R圖,E-R圖就是E-R模型的描述方法。
7.兩個實體集A和B之間的聯(lián)系可能是以下三種情況之一。
一對一的聯(lián)系(1:1):A中的一個實體最多與B中的一個實體相聯(lián)系,B中的一個實體也最多與A中的一個實體相聯(lián)系。
一對多的聯(lián)系(1:n):A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體至多與A中的一個實體相聯(lián)系。
多對多的聯(lián)系(m:n):A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體也可與A中的多個實體相聯(lián)系。
8.邏輯結構設計
實體:每個實體映射為一個表格。
屬性:映射為相應表中的一個字段。
? 關系映射
(1:1)聯(lián)系的E-R圖到關系模式的轉換:既可單獨對應一個關系模式,也可以不單獨對應一個關系模式。 www.2cto.com
聯(lián)系單獨對應一個關系模式,則由聯(lián)系屬性、參與聯(lián)系的各實體集的主碼屬性構成關系模式,其主碼可選參與聯(lián)系的實體集的任一方的主碼。
聯(lián)系不單獨對應一個關系模式,聯(lián)系的屬性及一方的主碼加入另一方實體集對應的關系模式中。
(1:n)聯(lián)系的E-R圖到關系模式的轉換:既可單獨對應一個關系模式,也可以不單獨對應一個關系模式。
聯(lián)系單獨對應一個關系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性構成關系模式,n端的主碼作為該關系模式的主碼。
聯(lián)系不單獨對應一個關系模式,則將聯(lián)系的屬性及1端的主碼加入n端實體集對應的關系模式中,主碼仍為n端的主碼。
(m:n)聯(lián)系的E-R圖到關系模式的轉換:單獨對應一個關系模式,該關系模式包括聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性,該關系模式的主碼由各實體集的主碼屬性共同組成。
關系模式XS_KC的主碼是由“學號”和“課程號”兩個屬性組合起來構成的一個主碼,一個關系模式只能有一個主碼。
在設計好一個項目的關系模式后,就可以在數(shù)據(jù)庫管理系統(tǒng)環(huán)境下創(chuàng)建數(shù)據(jù)庫、關系表及其他數(shù)據(jù)庫對象,輸入相應數(shù)據(jù),并根據(jù)需要對數(shù)據(jù)中的數(shù)據(jù)進行各種操作。
10.數(shù)據(jù)的物理模型即指數(shù)據(jù)的存儲結構,如對數(shù)據(jù)庫物理文件和索引文件的組織方式、文件的存取路徑、內存的管理等。物理模型不僅與數(shù)據(jù)庫管理系統(tǒng)有關,還和操作系統(tǒng)甚至硬件有關,物理模型對用戶是不可見的。
11.數(shù)據(jù)庫的連接方式
1). ODBC數(shù)據(jù)庫接口
ODBC即開放式數(shù)據(jù)庫互連(Open DataBase Connectivity),是微軟公司推出的一種實現(xiàn)應用程序和關系數(shù)據(jù)庫之間通信的接口標準。符合標準的數(shù)據(jù)庫就可以通過SQL語言編寫的命令對數(shù)據(jù)庫進行操作,但只針對關系數(shù)據(jù)庫。目前所有的關系數(shù)據(jù)庫都符合該標準,如Oracle、SQL Server、MySQL、DB2、Sybase、Access等。ODBC本質上是一組數(shù)據(jù)庫訪問API(應用程序編程接口),由一組函數(shù)調用組成,核心是SQL語句。 www.2cto.com
在具體操作時,首先必須用ODBC管理器注冊一個數(shù)據(jù)源,管理器根據(jù)數(shù)據(jù)源提供的數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及ODBC驅動程序等信息,建立起ODBC與具體數(shù)據(jù)庫的聯(lián)系。這樣,只要應用程序將數(shù)據(jù)源名提供給ODBC,ODBC就能建立起與相應數(shù)據(jù)庫的連接。
MySQL是通過MySQL Connector/ODBC(MyODBC驅動程序系列)為ODBC提供支持的。ODBC驅動包管理器是用于管理ODBC應用程序和驅動程序間通信的庫。ODBC.INI是ODBC配置文件,其中保存了連接到服務器所需的驅動信息和數(shù)據(jù)庫信息。ODBC驅動管理器將使用它來確定加載哪個驅動程序(使用數(shù)據(jù)源名)。
2). ADO數(shù)據(jù)庫接口
ADO(ActiveX Data Object)是微軟公司開發(fā)的基于COM的數(shù)據(jù)庫應用程序接口,通過ADO連接數(shù)據(jù)庫,可以靈活地操作數(shù)據(jù)庫中的數(shù)據(jù)。
使用ADO訪問關系數(shù)據(jù)庫有兩種途徑:一種是通過ODBC驅動程序,另一種是通過數(shù)據(jù)庫專用的OLE DB Provider,后者有更高的訪問效率。
3). ADO.NET數(shù)據(jù)庫接口
ADO.NET數(shù)據(jù)模型從ADO發(fā)展而來,但它不只是對 ADO的改進,而是采用了一種全新的技術。主要表現(xiàn)在以下幾個方面:
● ADO.NET不是采用ActiveX技術,而是與.NET框架緊密結合的產(chǎn)物。
● ADO.NET包含對XML標準的完全支持,這對于跨平臺交換數(shù)據(jù)具有重要的意義。
● ADO.NET既能在與數(shù)據(jù)源連接的環(huán)境下工作,又能在斷開與數(shù)據(jù)源連接的條件下工作。特別是后者,非常適合于網(wǎng)絡應用的需要。因為在網(wǎng)絡環(huán)境下,保持與數(shù)據(jù)源連接,不符合網(wǎng)站的要求,不僅效率低,付出的代價高,而且常常會引發(fā)由于多個用戶同時訪問時帶來的沖突。因此ADO.NET系統(tǒng)集中主要精力用于解決在斷開與數(shù)據(jù)源連接的條件下數(shù)據(jù)處理的問題。 www.2cto.com
ADO.NET提供了面向對象的數(shù)據(jù)庫視圖,并且在ADO.NET對象中封裝了許多數(shù)據(jù)庫屬性和關系。更重要的是,ADO.NET通過很多方式封裝和隱藏了很多數(shù)據(jù)庫訪問細節(jié),可以完全不知道對象在與ADO.NET對象交互,也不用擔心數(shù)據(jù)移動到另外一個數(shù)據(jù)庫或者從另一個數(shù)據(jù)庫獲得數(shù)據(jù)的細節(jié)問題。
數(shù)據(jù)層是實現(xiàn)ADO.NET斷開式連接的核心,從數(shù)據(jù)源讀取的數(shù)據(jù)先緩存到數(shù)據(jù)集中,然后被程序或控件調用。數(shù)據(jù)源可以是數(shù)據(jù)庫或XML數(shù)據(jù)。
數(shù)據(jù)提供器用于建立數(shù)據(jù)源與數(shù)據(jù)集之間的聯(lián)系,它能連接各種類型的數(shù)據(jù),并能按要求將數(shù)據(jù)源中的數(shù)據(jù)提供給數(shù)據(jù)集,或者從數(shù)據(jù)集向數(shù)據(jù)源返回編輯后的數(shù)據(jù)。
MySQL使用MySQL Connector/NET實施了所需的ADO.NET接口,并將其集成到了ADO.NET aware工具中。從而使開發(fā)人員能夠方便地創(chuàng)建需要安全和高性能數(shù)據(jù)連接(與MySQL)的.NET應用程序。MySQLConnector/NET是用純C#語言編寫的可完全管理的ADO.NET驅動程序。
4). JDBC數(shù)據(jù)庫接口
在JDBC API中有兩層接口:應用程序層和驅動程序層,前者使開發(fā)人員可以通過SQL調用數(shù)據(jù)庫和取得結果,后者處理與具體數(shù)據(jù)庫驅動程序的所有通信。
使用JDBC接口對數(shù)據(jù)庫操作有如下優(yōu)點:
(1)JDBC API與ODBC十分相似,有利于用戶理解;
(2)使編程人員從復雜的驅動器調用命令和函數(shù)中解脫出來,而致力于應用程序功能的實現(xiàn);
(3)JDBC支持不同的關系數(shù)據(jù)庫,增強了程序的可移植性。
使用JDBC的主要缺點:訪問數(shù)據(jù)記錄的速度會受到一定影響,此外,由于JDBC結構中包含了不同廠家的產(chǎn)品,這給數(shù)據(jù)源的更改帶來了較大麻煩。
MySQL通過MySQL Connector/J驅動實現(xiàn)JDBC接口,它提供了與使用Java編程語言開發(fā)的客戶端應用程序的連通性。MySQL Connector/J是一種純Java程序,實施了3.0版JDBC規(guī)范,并能使用MySQL協(xié)議與MySQL服務器直接通信。 www.2cto.com
5). 數(shù)據(jù)庫連接池技術
對于網(wǎng)絡環(huán)境下的數(shù)據(jù)庫應用,由于用戶眾多,使用傳統(tǒng)的JDBC方式進行數(shù)據(jù)庫連接,系統(tǒng)資源開銷過大成為制約大型企業(yè)級應用效率的瓶頸,采用數(shù)據(jù)庫連接池技術對數(shù)據(jù)庫連接進行管理,可以大大提高系統(tǒng)的效率和穩(wěn)定性。
12. 對于一般的數(shù)據(jù)庫應用系統(tǒng),除了數(shù)據(jù)庫管理系統(tǒng)外,需要設計適合普通人員操作數(shù)據(jù)庫的界面。
當應用程序需要處理數(shù)據(jù)庫中的數(shù)據(jù)時,首先向數(shù)據(jù)庫管理系統(tǒng)發(fā)送一個數(shù)據(jù)處理請求,數(shù)據(jù)庫管理系統(tǒng)接收到這一請求后,對其進行分析,然后執(zhí)行數(shù)據(jù)操作,并把操作結果返回給應用程序。由于應用程序直接與用戶打交道,而數(shù)據(jù)庫管理系統(tǒng)不直接與用戶打交道,所以應用程序被稱為“前臺”,而數(shù)據(jù)庫管理系統(tǒng)被稱為“后臺”。由于應用程序是向數(shù)據(jù)庫管理系統(tǒng)提出服務請求,通常稱為客戶程序(Client),而數(shù)據(jù)庫管理系統(tǒng)是為其他應用程序提供服務,通常稱為服務器程序(Server),所以又將這種操作數(shù)據(jù)庫模式稱為客戶/服務器(C/S)模式。
應用程序和數(shù)據(jù)庫管理系統(tǒng)可以運行在同一臺計算機上(單機方式),也可以運行在網(wǎng)絡方式。在網(wǎng)絡方式下,數(shù)據(jù)庫管理系統(tǒng)在網(wǎng)絡上的一臺主機上運行,應用程序可以在網(wǎng)絡上的多臺主機上運行,即一對多的方式。對于MySQL,除了服務器安裝數(shù)據(jù)庫管理系統(tǒng)外,還需要在客戶端安裝數(shù)據(jù)庫客戶程序。
13. 基于Web的數(shù)據(jù)庫應用采用三層客戶/服務器模式,也稱B/S結構。第一層為瀏覽器,第二層為Web服務器,第三層為數(shù)據(jù)庫服務器。瀏覽器是用戶輸入數(shù)據(jù)和顯示結果的交互界面,用戶在瀏覽器表單中輸入數(shù)據(jù),然后將表單中的數(shù)據(jù)提交并發(fā)送到Web服務器,Web服務器應用程序接收并處理用戶的數(shù)據(jù),通過數(shù)據(jù)庫服務器,從數(shù)據(jù)庫中查詢需要的數(shù)據(jù)(或把數(shù)據(jù)錄入數(shù)據(jù)庫)送到Web服務器,Web服務器把返回的結果插入HTML頁面,傳送到客戶端,在瀏覽器中顯示出來。
14. 關系數(shù)據(jù)庫的標準語言是SQL(Structured Query Language,結構化查詢語言)。SQL語言是用于關系數(shù)據(jù)庫查詢的結構化語言,最早由Boyce和Chambedin在1974年提出,稱為SEQUEL語言。1976年,IBM公司的San Jose研究所在研制關系數(shù)據(jù)庫管理系統(tǒng)System R時修改為SEQUEL2,即目前的SQL語言。SQL語言的功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制4個部分。SQL語言簡潔、方便實用,為完成其核心功能只用了6個命令:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE)。目前已成為應用最廣的關系數(shù)據(jù)庫語言。SQL語言簡潔,易學易用。
15. mySQL簡介:
MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
與其他的大型數(shù)據(jù)庫相比,MySQL還有一些不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
目前Internet上流行的網(wǎng)站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務器,MySQL作為數(shù)據(jù)庫,PHP作為服務器端腳本解釋器。由于這4個軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。
MySQL數(shù)據(jù)庫的特點主要有以下幾個方面:
● 使用核心線程的完全多線程服務,這意味著可以采用多CPU體系結構。
● 可運行在不同平臺。 www.2cto.com
● 使用C和C++編寫,并使用多種編譯器進行測試,保證了源代碼的可移植性。
● 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。
● 為多種語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、、Ruby和Tcl等。
● 支持多線程,充分利用CPU資源。
● 優(yōu)化的SQL查詢算法,可有效地提高查詢速度。
● 既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用做數(shù)據(jù)表名和數(shù)據(jù)列名。
● 提供TCP/IP、ODBC和JDBC等多種連接途徑。
● 提供可用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。
● 可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。
2008年sun公司收購mySql AB公司。
16.mySql的安裝和配置見資料文件下安裝word文件,重新配置服務器,如下:
如果要對服務器重新配置,可以打開“開始”→“程序”→“MySQL”→“MySQLServer 5.1”→“MySQL Server Instance Config Wizard”,在出現(xiàn)的配置向導中重新配置服務器。
(1)選項文件
在C:\Program Files\MySQL\MySQL Server 5.1的MySQL主目錄下有一個my.ini文件,這是MySQL的選項文件,在MySQL啟動時會自動加載文件中的一些選項。可以通過修改選項文件來修改MySQL的一些默認設置,具體會在以后的內容中了解到。 www.2cto.com
(2)數(shù)據(jù)目錄
“destination Folder”為MySQL所在的目錄,默認的目錄為:C:\Program\Files\MySQL\MySQL Server5.1“DataFolder”為MySQL數(shù)據(jù)庫文件和表文件所在的目錄。
在MySQL主目錄下有一個my.ini文件,這是MySQL的選項文件,在MySQL啟動時會自動加載文件中的一些選項,可以通過修改選項文件來修改MySQL的一些默認設置。
MySQL有一個data目錄,用于存放數(shù)據(jù)庫文件。MySQL 5.1的默認的路徑為C:\Documents and Settings\All Users\Application Data\MySQL\MySQLServer 5.1\data。在data目錄中MySQL為每一個數(shù)據(jù)庫建立一個文件夾,所有的表文件存放在相應的數(shù)據(jù)庫文件夾中。
“MySQL數(shù)據(jù)庫的基本概念”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。