1. MySQL被廣泛的應用在Internet上的大中小型網站中。由于體積小、速度快、總體擁有成本低,開放源代碼
2. SQL Server是微軟公司開發的大型關系資料庫系統。SQL Server的功能比較全面,效率高,可以作為中型企業或機關的資料庫平台。SQL Server可以與Winodws作業系統緊密內建,不論是應用程式開發速度還是系統事務處理運作速度,都得到較大的提升,對于在Windows平台上開發的各種企業級資訊管理系統來說,不論是C/S(客戶機/伺服器)架構還是B/S(浏覽器/伺服器)架構。SQL Server都是一個很好的選擇。SQL Server的缺點是隻能在Windows系統下運作
3. DB2,PostgreSQL,Informix,Sybase等。這些關系型資料庫逐漸的淡化了普通運維的實作,特别是網際網路公司幾乎見不到
1,char,nchar,nvarchar,varchar有什麼差別?
兩個字元型字段分别定義為char(10)和varchar(10),當給它們存入“123”這個資料時,char(10)字段占用十個位元組的存儲空間,而varchar(10)隻占用3個位元組存儲空間,這就是char和varchar的差別。可以看出varchar比較适合存儲長度變化很大的資料。
2、smallint、int和bigint的差別?
smallint、int和bigint的差別僅僅在于位數不同。smallint可存儲2位元組整數(-32768~32767),int可存儲4位元組整數(-2147483648~2147483647),bigint可存儲8位元組整數(-9223372036854775808~9223372036854775807)
1.資料庫是資料的倉庫。
與普通的“資料倉庫”不同的是,資料庫依據“資料結構”來組織資料,因為“資料結構”,是以我們看到的資料是比較“條理化”的(比如不會跟以前的普通檔案存儲式存儲成一個檔案那麼不條理化,我們的資料庫分成一個個庫,分成一個個表,分成一條條記錄,這些記錄是多麼分明)
也因為其“資料結構”式,是以有極高的查找速率(比如B-Tree查找法),(由于專精,可以根據自己的結構特性來快速查找,是以對于資料庫的查找會比較快捷;不像普通檔案系統的“查找”那麼通用)
如果與EXCEL來比的話,能明顯的看出資料庫的好處,我們能給一個個“字段”添加“限制”(比如限制一列的值不能為空)
資料庫與普通的檔案系統的主要差別(起因):資料庫能快速查找對應的資料
常說的XX資料庫,其實實質上是XX資料庫管理系統。資料庫管理系統是一個軟體,是資料庫管理的程式實作。
2.關系型資料庫是依據關系模型來建立的資料庫。
所謂關系模型就是“一對一、一對多、多對多”等關系模型,關系模型就是指二維表格模型,因而一個關系型資料庫就是由二維表及其之間的聯系組成的一個資料組織。
關系型資料可以很好地存儲一些關系模型的資料,比如一個老師對應多個學生的資料(“多對多”),一本書對應多個作者(“一對多”),一本書對應一個出版日期(“一對一”)
關系模型是我們生活中能經常遇見的模型,存儲這類資料一般用關系型資料庫
關系模型包括資料結構(資料存儲的問題,二維表)、操作指令集合(SQL語句)、完整性限制(表内資料限制、表與表之間的限制)
資料的存儲形式
關系的處理形式
常見的關系型資料庫有:
Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQ
關系型資料庫的特點:
安全(因為存儲在磁盤中,不會說突然斷電資料就沒有了)、
容易了解(建立在關系模型上)、
但不節省空間(因為建立在關系模型上,就要遵循某些規則,好比資料中某字段值即使為空仍要配置設定空間)
什麼是非關系型資料庫?
非關系型資料庫主要是基于“非關系模型”的資料庫(由于關系型太大,是以一般用“非關系型”來表示其他類型的資料庫)
非關系型模型比如有:
列模型:存儲的資料是一列列的。關系型資料庫以一行作為一個記錄,列模型資料庫以一列為一個記錄。(這種模型,資料即索引,IO很快,主要是一些分布式資料庫)
鍵值對模型:存儲的資料是一個個“鍵值對”,比如name:liming,那麼name這個鍵裡面存的值就是liming
文檔類模型:以一個個文檔來存儲資料,有點類似“鍵值對”
常見的非關系型資料庫:
列模型:Hbase
鍵值對模型:redis,MemcacheDB
文檔類模型:mongoDB