大家好,我是十一甥捺,關(guān)于數(shù)據(jù)庫概念帶著大家一起回顧下抢蚀。
本篇內(nèi)容
日常生活中,我們在超市和商場購物镰禾,商家用于存儲貨物的地方叫做倉庫皿曲;我們網(wǎng)上購物,網(wǎng)上的物品信息又存放在哪里呢吴侦?有人說也是放倉庫唄屋休,倉庫寄出即可。我想問的是备韧,大家網(wǎng)上看到的那些信息存放于哪兒呢劫樟?比如商品的庫存,數(shù)量,大小尺寸叠艳,樣式奶陈,類型等屬性信息,這些信息也需要存放起來附较,通過網(wǎng)頁展示給用戶吃粒,如此才能正常無阻礙的完成網(wǎng)上交易。用于存放商品及其屬性信息的就是今天的主角:數(shù)據(jù)庫拒课。當然徐勃,數(shù)據(jù)庫不僅僅能存儲商品及其屬性,還可以存儲其他數(shù)據(jù)信息早像。
今天呢僻肖,就帶大家一起來揭開“數(shù)據(jù)庫”的神秘面紗。
概念
數(shù)據(jù)庫是以一定方式儲存在一起卢鹦、能與多個用戶共享臀脏、具有盡可能小的冗余度、與應用程序彼此獨立的數(shù)據(jù)集合法挨,可視為電子化的信息倉庫谁榜,用戶可以對其中的數(shù)據(jù)進行新增幅聘、查詢凡纳、更新、刪除等操作帝蒿。
數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫荐糜。它的存儲空間很大,可以存放百萬條葛超、千萬條暴氏、上億條數(shù)據(jù)。但是數(shù)據(jù)庫并不是隨意地將數(shù)據(jù)進行存放绣张,是有一定的規(guī)則的答渔,否則查詢的效率會很低。當今世界是一個充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界侥涵,充斥著大量的數(shù)據(jù)沼撕。即這個互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來源有很多芜飘,比如出行記錄务豺、消費記錄、瀏覽的網(wǎng)頁嗦明、發(fā)送的消息等等笼沥。除了文本類型的數(shù)據(jù),圖像、音樂奔浅、聲音都是數(shù)據(jù)馆纳。
類型
數(shù)據(jù)庫分為兩類,關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫乘凸。
關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫厕诡,存儲的格式可以直觀地反映實體(所謂實體,就好比商品营勤,商品屬性灵嫌,商品種類;也可以是學生葛作、老師寿羞,班級,年級赂蠢,學校绪穆;亦或者是國家、省虱岂、市玖院、縣等地)間的關(guān)系。
關(guān)系型數(shù)據(jù)庫和常見的表格比較相似第岖,關(guān)系型數(shù)據(jù)庫中表與表之間是有很多復雜的關(guān)聯(lián)關(guān)系的难菌。常見的關(guān)系型數(shù)據(jù)庫有Mysql,SqlServer等蔑滓。在輕量或者小型應用中郊酒,使用不同的關(guān)系型數(shù)據(jù)庫對系統(tǒng)的性能影響不大,但是在構(gòu)建大型應用時键袱,則需要根據(jù)應用的業(yè)務需求和性能需求燎窘,選擇合適的關(guān)系型數(shù)據(jù)庫。
本篇例子均以mysql數(shù)據(jù)庫為例蹄咖。如下圖所示褐健,我創(chuàng)建了3個表,分別用來存儲學校澜汤、年級蚜迅、班級信息如圖1所示,學校這個表中存儲信息如圖2所示银亲。
這里要明確兩個概念慢叨,庫和表。在mysql數(shù)據(jù)庫中务蝠,我們可以創(chuàng)建多個庫拍谐,用以專庫專用。每個庫中可以有多個表,就像我們倉庫中可以放很多不同的/不同種類的東西一樣轩拨。另外践瓷,每一個實體不只可以用一張表,比如學生成績亡蓉,可能完整的成績存放在多張表中晕翠,比如學生信息表,存放學生的編號砍濒、姓名淋肾、年齡、性別爸邢、班級id樊卓、年級id、學校id杠河、家庭住址等碌尔;成績表中存放成績編號、學生編號券敌、科目編號唾戚、科目成績;科目編號中存放科目編號待诅、科目名稱叹坦;如下圖所示:
這三張表加上之前圖1中的三張表聯(lián)合起來查出學生成績的完整信息,得出如下表所示完整的成績單:
綜上所述:關(guān)系型數(shù)據(jù)庫咱士,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫立由,以行和列的形式存儲數(shù)據(jù)轧钓,以便于用戶理解序厉,關(guān)系型數(shù)據(jù)庫這一系列的行和列被稱為表,一組表組成了數(shù)據(jù)庫毕箍。用戶通過查詢來檢索數(shù)據(jù)庫中的數(shù)據(jù)弛房,而查詢是一個用于限定數(shù)據(jù)庫中某些區(qū)域的執(zhí)行代碼。關(guān)系模型可以簡單理解為二維表格模型而柑,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的關(guān)系組成的一個數(shù)據(jù)組織文捶。
關(guān)系型數(shù)據(jù)庫采用結(jié)構(gòu)化查詢語言(即SQL)來對數(shù)據(jù)庫進行CRUD(增加,查詢媒咳,更新粹排,刪除)操作。
非關(guān)系型數(shù)據(jù)庫
非關(guān)系型數(shù)據(jù)庫涩澡,又被稱為NoSQL(Not Only SQL )顽耳,意為不僅僅是SQL( Structured QueryLanguage,結(jié)構(gòu)化查詢語言)。NoSQL描述的是大量結(jié)構(gòu)化數(shù)據(jù)存儲方法的集合射富,根據(jù)結(jié)構(gòu)化方法以及應用場合的不同膝迎,將NoSQL分為Column-Oriented、Key-Value胰耗、Document-Oriented三大類限次。本篇呢對此不再展開詳細的介紹,感興趣的同學可以自行百度了解下柴灯。
今日作業(yè):
自行下載mysql數(shù)據(jù)庫并安裝卖漫,安裝完成后創(chuàng)建本篇中的庫以及表。
好了赠群,今天的內(nèi)容到此結(jié)束懊亡,我們下期再見!Bye~