sql模糊查詢(xún)下劃線(xiàn)怎么用 sql server 創(chuàng)建表名錯(cuò)誤?
sql server 創(chuàng)建表名錯(cuò)誤?表名必須以字母開(kāi)頭,其余部分可以是字母數(shù)字和下劃線(xiàn)。網(wǎng)站的后臺(tái)的用戶(hù)名一般是什么?用戶(hù)名,其實(shí)有很多網(wǎng)站可以用中文,但是大部分特殊字符可以 不要被使用。即使可以使用
sql server 創(chuàng)建表名錯(cuò)誤?
表名必須以字母開(kāi)頭,其余部分可以是字母數(shù)字和下劃線(xiàn)。
網(wǎng)站的后臺(tái)的用戶(hù)名一般是什么?
用戶(hù)名,其實(shí)有很多網(wǎng)站可以用中文,但是大部分特殊字符可以 不要被使用。即使可以使用,也大多帶下劃線(xiàn)。
并且基本上設(shè)定了長(zhǎng)度。
這也是防止網(wǎng)站被SQL注入和溢出攻擊的一種。
同時(shí),為了用戶(hù)賬戶(hù)安全,限制了最小長(zhǎng)度。
另外,一些垃圾網(wǎng)站安全性差??赡芮芭_(tái)的JavaScript限制了字符串,但是后臺(tái)沒(méi)有限制,或者限制很少。
還有一些網(wǎng)站在注冊(cè)的時(shí)候密碼有長(zhǎng)度和字符組合的限制,修改的時(shí)候沒(méi)有。這時(shí),它們可以被修改成弱密碼。。。
hadoop表名規(guī)則?
為了避免底層業(yè)務(wù)的變化對(duì)頂層需求的影響,屏蔽底層復(fù)雜的業(yè)務(wù)邏輯,盡可能簡(jiǎn)單完整地在接口層呈現(xiàn)業(yè)務(wù)數(shù)據(jù),構(gòu)建一個(gè)高內(nèi)聚、松耦合的數(shù)據(jù)組織,使數(shù)據(jù)從業(yè)務(wù)角度分離出來(lái),顯得尤為重要。從整個(gè)集團(tuán)的業(yè)務(wù)線(xiàn)出發(fā),形成數(shù)據(jù)倉(cāng)庫(kù)的整體概念框架,劃分整個(gè)系統(tǒng)所需的功能模塊,明確各個(gè)模塊的技術(shù)細(xì)節(jié),構(gòu)建一套完整的開(kāi)發(fā)規(guī)范。
分層規(guī)格
ODS(原始數(shù)據(jù)層):又稱(chēng)附源層,ODS層是數(shù)據(jù)倉(cāng)庫(kù)準(zhǔn)備區(qū),為DWD層提供基礎(chǔ)原始數(shù)據(jù)。
DWD(詳細(xì)數(shù)據(jù)層):與ODS粒度相同的詳細(xì)數(shù)據(jù),用于重復(fù)數(shù)據(jù)刪除、臟數(shù)據(jù)過(guò)濾和空處理,保證數(shù)據(jù)質(zhì)量。
DWS(服務(wù)數(shù)據(jù)層):簡(jiǎn)單地匯總數(shù)據(jù),并建立一個(gè)寬表(按主題)來(lái)存儲(chǔ)數(shù)據(jù)。
ADS(應(yīng)用數(shù)據(jù)層):存儲(chǔ)應(yīng)用類(lèi)表數(shù)據(jù)。
ODS DWD DWS ADS
ODS-DW(輕量級(jí)數(shù)據(jù)匯總層,高級(jí)數(shù)據(jù)匯總層)-DM(數(shù)據(jù)集市)
表格規(guī)格
名字
維度表的命名形式:dim_ description
事實(shí)表的命名形式:fact_ description _[AB]
臨時(shí)表的命名形式:tmp_正式表名_ [C自定義序號(hào)]
寬表命名格式:dws_ Subject _ Description _[AB]
備份表的命名形式:正式表名_bak_yyyymmdd
表命名的解釋:
1)表名應(yīng)使用英文小寫(xiě)字母,單詞之間用下劃線(xiàn)隔開(kāi),長(zhǎng)度不超過(guò)40個(gè)字符,命名一般控制在6級(jí)以下。
ABC # 34A # 34的時(shí)間粒度:使用#34c#34表示當(dāng)前數(shù)據(jù),#34h#34表示小時(shí)數(shù)據(jù),#34d#34表示日數(shù)據(jù),#34w#34表示周數(shù)據(jù),#34m#34表示月數(shù)據(jù),#34q#34表示季度數(shù)據(jù),#34y#34。
3)其中,ABC的第二位#34B#34表示對(duì)象屬性,#34t#34表示表格,#34v#34表示視圖。ABC的第三個(gè)#34C#34自定義序列號(hào)用于標(biāo)識(shí)多個(gè)臨時(shí)表的運(yùn)行順序。
給…作注解
注釋?xiě)?yīng)結(jié)合表的英文名稱(chēng),注釋?xiě)?yīng)簡(jiǎn)潔明了,反映表的業(yè)務(wù)來(lái)源、主題和目的。
存儲(chǔ)格式
所謂存儲(chǔ)格式,就是Hive建表時(shí),表中數(shù)據(jù)的存儲(chǔ)。如果指定了,在向表中插入數(shù)據(jù)時(shí),相應(yīng)的數(shù)據(jù)類(lèi)型將通過(guò)這種添加到HDFS中。在幾個(gè)倉(cāng)庫(kù)中默認(rèn)使用拼花存儲(chǔ)格式來(lái)構(gòu)建表,相關(guān)語(yǔ)句如下:
存儲(chǔ)為輸入格式
##39
輸出格式
##39
字符集
Hadoop和hive都是utf-8編碼,可能會(huì)涉及到建表時(shí)中文的問(wèn)題,所以導(dǎo)入文件的字符編碼統(tǒng)一為utf-8格式。
任命
理論上,數(shù)據(jù)倉(cāng)庫(kù)中的表中不應(yīng)該有null未知類(lèi)型。對(duì)于可能有null的字段,如果是字符型,就統(tǒng)一為空字符串,如果是數(shù)值型,就給0。
字段規(guī)格
名字
1)使用英文小寫(xiě)字母,單詞之間用下劃線(xiàn)隔開(kāi),長(zhǎng)度不超過(guò)30個(gè)字符,命名一般控制在小于等于四級(jí);
2)字段名稱(chēng)與源數(shù)據(jù)的ods層表的名稱(chēng)相同。如果是新領(lǐng)域,盡量簡(jiǎn)潔;
3)英文名字盡量專(zhuān)業(yè),符合行業(yè)要求,不使用漢語(yǔ)拼音;
4)盡量避免使用關(guān)鍵詞。如果不可避免,使用 "` "逃避;
5)如果指標(biāo)字段可以使用縮寫(xiě),盡量使用統(tǒng)一的縮寫(xiě),比如應(yīng)用金額統(tǒng)計(jì)apply_amt_sum。
給…作注解
筆記以簡(jiǎn)潔、詳細(xì)、完整為原則。對(duì)于有業(yè)務(wù)含義的字段,需要在注釋中列舉并解釋其業(yè)務(wù)含義,如ODS _ Loan _ Apidata _ Order _ Info。Order _ Status: 1待支付,2支付不成功,3支付成功;
類(lèi)型
日期和時(shí)間等格式是字符串類(lèi)型,字符串也是字符串類(lèi)型。如果使用數(shù)值,將根據(jù)字段定義來(lái)確定。對(duì)于有小數(shù)點(diǎn)要求的,比如一些金額和利率,需要使用小數(shù)類(lèi)型,對(duì)于沒(méi)有小數(shù)點(diǎn)要求的,使用浮點(diǎn)類(lèi)型double和整數(shù)類(lèi)型(int,bigint)。
代碼規(guī)格
Sql編碼
1)右對(duì)齊關(guān)鍵字、詳細(xì)代碼注釋、查詢(xún)字段時(shí)每行不超過(guò)三個(gè)字段、縮進(jìn)時(shí)空四框等相關(guān)書(shū)寫(xiě)規(guī)范。
2)詳細(xì)數(shù)據(jù)層依賴(lài)于ods層,應(yīng)用數(shù)據(jù)層依賴(lài)于服務(wù)數(shù)據(jù)層。原則上不允許跨層查詢(xún)。
3)如果SQL語(yǔ)句連接多個(gè)表,應(yīng)該使用表的別名來(lái)引用列。
4)用于4)WHERE條件中的參數(shù)和參數(shù)值的類(lèi)型應(yīng)該匹配,以避免隱式類(lèi)型轉(zhuǎn)換。
5)在SELECT語(yǔ)句中只獲得實(shí)際需要的字段。
命令過(guò)程調(diào)度腳本主要是通過(guò)運(yùn)行shell腳本,shell腳本的注意點(diǎn)如下:
1)名稱(chēng)與目標(biāo)表的名稱(chēng)相同,注釋要完善,后綴以結(jié)尾。先令
2)腳本頭需要添加分割線(xiàn)、作者、日期、目的、描述等信息。