發表文章

目前顯示的是 11月, 2020的文章

【DB】MongoDB基本操作:查詢(Find)

sql--查詢語法都是sql>使用於資料多是數字 nosql--查詢語法都不一樣,使用javascript(JASON檔)>使用於資料多是文字 下載: MongoDB 、 Robo 3T 比較: SQL:     attribute                                              ,tuple             ,table        ,schema NoSQL:attribute datatype(single/array),document  ,collection,ctructure (每一筆資料為一個document,查詢時在同一個collection可直接查詢,若為不同collection間要查詢則需使用另外的方法join) *在系統搜尋【服務】>找到【mongoDB】>右鍵【啟動】>這樣才可以連結到localhost *啟動【Robo 3T】mongoDB的GUI>【local】>右鍵【create database】>展開你的DB>【collections】>右鍵【create collections】>右鍵你的collections【insert Document】 【view Document】預設指令:db.getCollection('___').find({}) 查詢find:.find({屬性:{$運算子:{條件式}}}) 分類: 比較: 等於$eq、大於$gt、小於$lt… 陣列: 某陣列的內部元素符合條件式$elemMatch----找關鍵字(常用): find({document_name:{$elemMatch:{欄位名:/關鍵字/}}}) 某陣列的大小等於某個值$size 邏輯: 有多個條件式需要查詢時用$and 欄位: $exists查詢某個欄位存在(true)不存在(false) $type某個欄位的資料型態(BSON type)

【NoSQL】Mongo

 NoSQL非關聯式資料庫-不需要Schema 文件導向:Web環境下 列式(column):FB 鏈值(key-value):Amazon 圖形資料庫:社交媒體 滿足bigdata的3V(速度Velocity、多樣、資料量Volume)、5V(價值Value、 Veracity) web2.0的資料量龐大,傳統的關聯式資料庫效率不佳 NoSQL-水平擴充:用很多台電腦(每台單價可以不高) SQL-垂直提升:硬體的配備越來越好 結構化:關聯式資料庫 半結構化:用關聯式資料庫會要更多查詢時間 非結構化: *服務→找到MongoDB Server→啟動,將狀態改為執行中 *cmd: >show dbs admin     0.000GB config     0.000GB local       0.000GB >use csmu switched to db csmu >db.students.insert({}) WriteResult({"nInserted" : 1}) >show dbs admin    0.000GB config    0.000GB csmu        0.000GB local      0.000GB >db.student.insert([ { "profile":{name,id} "course":{course_id,course_name,credits} →{name,id,{course_id,course_name,credits}} →array-tape document(階層式)/另外還有純量式 }, { ...第二筆資料... } ]) →jason格式 >show collection students >db.student.count 3 >db.students.drop() true *GUI:Robo 3T MongoDB文件結構設計:schema list反正規化 每一筆資料就是一筆document simple structure(scalar)-純量 csv to jason: csv轉檔json *BIG5會出現亂碼:轉碼→記事本:UTF8編碼→存檔 local>crea

【SQL】上傳mdf檔案

要交作業需上傳mdf檔案時,若沒有在自己電腦裡的SQL先「卸離」使用中的資料庫,則會跳出「無法開啟」的警告提示。 「卸離」:進入SQL→選擇要卸離的資料庫→右鍵「工具」→卸離。會再跳出卸離視窗選擇要卸離的資料庫,按下確定即可卸離。 卸離後或想再修改可以利用「附加」資料庫,來對之前的資料庫進行修改。