第一篇:Geodatabase 數(shù)據(jù)庫(kù)創(chuàng)建
Geodatabase 數(shù)據(jù)庫(kù)創(chuàng)建 Geodatabase概述
地理數(shù)據(jù)庫(kù)(GeoDatabase)是為了更好的管理和使用地理要素?cái)?shù)據(jù),而按照一定的模型、規(guī)則組合起來(lái)的存儲(chǔ)空間數(shù)據(jù)和屬性數(shù)據(jù)的容器。地理數(shù)據(jù)庫(kù)是按照層次性的數(shù)據(jù)對(duì)象來(lái)組織地理數(shù)據(jù)的,這些數(shù)據(jù)對(duì)象包括對(duì)象類和要素?cái)?shù)據(jù)集(feature dataset)。
對(duì)象類(Object Classes)是指存儲(chǔ)非空間數(shù)據(jù)的表格(Table)。在Geodatabase中,對(duì)象類是一種特殊的類,它沒(méi)有空間特征,如:某塊地的主人。在“地塊”和“主人”之間,可以定義某種關(guān)系。
要素類(Feature Classes)是具有相同幾何類型和屬性的要素的集合,即同類空間要素的集合。如河流、道路、植被、用地、電纜等。要素類之間可以獨(dú)立存在,也可具有某種關(guān)系。當(dāng)不同的要素類之間存在關(guān)系時(shí),我們將其組織到一個(gè)要素?cái)?shù)據(jù)集中(Feature dataset)。
要素?cái)?shù)據(jù)集(Feature Dataset)是共享空間參考系統(tǒng)的要素類的集合,即一組具有相同空間參考的要素類的集合。將不同的要素類放到一個(gè)要素?cái)?shù)據(jù)集下的理由可能很多,但一般而言,在以下三種情況下,我們考慮將不同的要素類組織到一個(gè)要素?cái)?shù)據(jù)集中:
(1)當(dāng)不同的要素類屬于同一范疇。如:全國(guó)范圍內(nèi)某種比例尺的水系數(shù)據(jù),其點(diǎn)、線、面類型的要素類可組織為同一個(gè)要素?cái)?shù)據(jù)集。
(2)在同一幾何網(wǎng)絡(luò)中充當(dāng)連接點(diǎn)和邊的各種要素類,必須組織到同一要素?cái)?shù)據(jù)集中。如:配電網(wǎng)絡(luò)中,有各種開(kāi)關(guān)、變壓器、電纜等,它們分別對(duì)應(yīng)點(diǎn)或線類型的要素類,在配電網(wǎng)絡(luò)建模時(shí),應(yīng)將其全部考慮到配電網(wǎng)絡(luò)對(duì)應(yīng)的集和網(wǎng)絡(luò)模型中去。此時(shí),這些要素類就必須放在同一要素?cái)?shù)據(jù)集下。
(3)對(duì)于共享公共幾何特征的要素類,如:用地、水系、行政邊界等。當(dāng)移動(dòng)其中的一個(gè)要素時(shí),其公共的部分也要求一起移動(dòng),并保持這種公共邊關(guān)系不變。此種情況下,也要將這些要素類放到同一個(gè)要素?cái)?shù)據(jù)集中。
對(duì)象類、要素類和要素?cái)?shù)據(jù)集是Geodatabase中的基本組成項(xiàng)。當(dāng)在數(shù)據(jù)庫(kù)中創(chuàng)建了目這些項(xiàng)目后,可以向數(shù)據(jù)庫(kù)中加載數(shù)據(jù),并進(jìn)一步定義數(shù)據(jù)庫(kù),如建立索引,建立拓?fù)潢P(guān)系,創(chuàng)建子類、幾何網(wǎng)絡(luò)類、注釋類、關(guān)系類等。Geodatabase的數(shù)據(jù)組織如圖3.21所示。
2.地理數(shù)據(jù)庫(kù)建立的一般過(guò)程
建立地理數(shù)據(jù)庫(kù)的第一步,是設(shè)計(jì)地理數(shù)據(jù)庫(kù)將要包含的要素類、要素?cái)?shù)據(jù)集、非空間對(duì)象表、幾何網(wǎng)絡(luò)類、關(guān)系類及空間參考系統(tǒng)等;地理數(shù)據(jù)庫(kù)設(shè)計(jì)完成之后,可以利用ArcCatalog開(kāi)始建立數(shù)據(jù)庫(kù):首先建立空的地理數(shù)據(jù)庫(kù),然后建立其組成項(xiàng),包括建立關(guān)系表、要素類、要素?cái)?shù)據(jù)集等;最后向地理數(shù)據(jù)庫(kù)各項(xiàng)加載數(shù)據(jù)。
當(dāng)在關(guān)系表和要素類中加入數(shù)據(jù)后,可以在適當(dāng)?shù)淖侄紊辖⑺饕?,以便提高查詢效率。建立了地理?shù)據(jù)庫(kù)的關(guān)系表、要素類和要素?cái)?shù)據(jù)集后,可以進(jìn)一步建立更高級(jí)的項(xiàng),例如,空間要素的幾何網(wǎng)絡(luò)、空間要素或非空間要素類之間的關(guān)系類等。
1)地理數(shù)據(jù)庫(kù)設(shè)計(jì)
地理數(shù)據(jù)庫(kù)的設(shè)計(jì)是一個(gè)重要的過(guò)程,應(yīng)該根據(jù)項(xiàng)目的需要進(jìn)行規(guī)劃和反復(fù)設(shè)計(jì)。在設(shè)計(jì)一個(gè)地理數(shù)據(jù)庫(kù)之前,必須考慮一下幾個(gè)問(wèn)題:
a.在數(shù)據(jù)庫(kù)中存儲(chǔ)什么數(shù)據(jù) b.數(shù)據(jù)存儲(chǔ)采用什么投影
c.是否需要建立數(shù)據(jù)修改的規(guī)則 d.如何組織對(duì)象類和子類
e.是否需要在不同類型對(duì)象間維護(hù)特殊的關(guān)系 f.數(shù)據(jù)庫(kù)中是否包含網(wǎng)絡(luò) g.數(shù)據(jù)庫(kù)是否存儲(chǔ)定制對(duì)象
回答了上述問(wèn)題后,就可以開(kāi)始地理數(shù)據(jù)庫(kù)的建立了。
2)地理數(shù)據(jù)庫(kù)建立
借助ArcGIS9的ArcCatalog,可以采用以下三種方法在創(chuàng)建一個(gè)新的地理數(shù)據(jù)庫(kù),選擇何種方法將取決于建立地理數(shù)據(jù)庫(kù)的數(shù)據(jù)源、是否在地理數(shù)據(jù)庫(kù)中存放定制對(duì)象。實(shí)際操作中,經(jīng)常聯(lián)合幾種或全部方法來(lái)創(chuàng)建地理數(shù)據(jù)庫(kù)。
(1)從頭開(kāi)始建立一個(gè)新的地理數(shù)據(jù)庫(kù)
有些情況下,可能沒(méi)有任何可裝載的數(shù)據(jù),或者已經(jīng)有的數(shù)據(jù)只能部分地滿足數(shù)據(jù)庫(kù)的設(shè)計(jì),這時(shí),可以用ArcCatalog來(lái)建立新的要素?cái)?shù)據(jù)集、表、幾何網(wǎng)絡(luò)和其他地理數(shù)據(jù)庫(kù)項(xiàng)的模式。
(2)移植已經(jīng)存在數(shù)據(jù)到地理數(shù)據(jù)庫(kù)
對(duì)于已經(jīng)存在的多種格式的數(shù)據(jù):Shapefile、Coverage、INFO Table、dBase Table等,以及其它系統(tǒng)中的數(shù)據(jù)格式: ArcStrom、Map LIBARISN、ArcSDE等,可以通過(guò)ArcCatalog來(lái)轉(zhuǎn)換并輸入到地理數(shù)據(jù)庫(kù)中,并進(jìn)一步定義數(shù)據(jù)庫(kù),包括建立幾何網(wǎng)絡(luò)(Geometric Network)、子類型(Subtypes)、屬性域(Attribute Domains)等。
(3)用CASE工具建立地理數(shù)據(jù)庫(kù)
可以用CASE工具建立新的定制對(duì)象,或從UML圖中產(chǎn)生地理數(shù)據(jù)庫(kù)模式。面向?qū)ο蟮脑O(shè)計(jì)工具可以用于建立對(duì)象模型、表示定制?;谶@些模型,CASE工具的代碼產(chǎn)生向?qū)В–ode Generation Wizard)幫助你建立COM對(duì)象,以實(shí)現(xiàn)定制對(duì)象的行為,建立和管理定制對(duì)象的數(shù)據(jù)庫(kù)模式。
本節(jié)著重介紹建立本地個(gè)人地理數(shù)據(jù)庫(kù)的一般過(guò)程和方法,有關(guān)CASE工具建立地理數(shù)據(jù)庫(kù)的部分及ArcSDE等內(nèi)容省略。
3)建立空的數(shù)據(jù)庫(kù)中的基本組成項(xiàng)
一個(gè)空的地理數(shù)據(jù)庫(kù),其基本組成項(xiàng)包括關(guān)系表、要素類、要素?cái)?shù)據(jù)集。當(dāng)數(shù)據(jù)庫(kù)中 建立了以上三項(xiàng),并加載了數(shù)據(jù)之后,一個(gè)簡(jiǎn)單的地理數(shù)據(jù)庫(kù)就建成了。
4)向地理數(shù)據(jù)庫(kù)各項(xiàng)加載數(shù)據(jù)
可以用ArcMap中的Editor工具欄來(lái)建立新的對(duì)象,或調(diào)用已經(jīng)存在的Shapefiles、Coverages、INFO Tables和dBaseTables數(shù)據(jù)來(lái)裝載數(shù)據(jù)庫(kù)對(duì)象。
5)進(jìn)一步定義數(shù)據(jù)庫(kù)
對(duì)于數(shù)據(jù)庫(kù)中加載的數(shù)據(jù),可以在適當(dāng)?shù)淖侄紊辖⑺饕?,以便提高查詢效率。并可以在建立了?shù)據(jù)庫(kù)的基本組成項(xiàng)后,進(jìn)一步建立更高級(jí)的項(xiàng),例如空間要素的幾何網(wǎng)絡(luò)、空間要素或非空間要素類之間的關(guān)系類等。一個(gè)地理數(shù)據(jù)庫(kù)只有定義了這些高級(jí)項(xiàng)后,才能顯出地理數(shù)據(jù)庫(kù)在數(shù)據(jù)組織和應(yīng)用上的強(qiáng)大優(yōu)勢(shì)。創(chuàng)建一個(gè)新的地理數(shù)據(jù)庫(kù)
借助ArcCatalog可以建立兩種地理數(shù)據(jù)庫(kù):本地個(gè)人地理數(shù)據(jù)庫(kù)(Personal Geodatabase)和ArcSDE地理數(shù)據(jù)庫(kù)。個(gè)人地理數(shù)據(jù)庫(kù)可以直接在ArcCatalog環(huán)境中建立,而ArcSDE地理數(shù)據(jù)庫(kù)必須首先在網(wǎng)絡(luò)服務(wù)器上安裝數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)和ArcSDE,然后建立從ArcCatalog到ArcSDE地理數(shù)據(jù)庫(kù)的一個(gè)連接。以建立本地個(gè)人地理數(shù)據(jù)庫(kù)為例:
在ArcCatalog樹(shù)中選擇一個(gè)文件夾,單擊File菜單,或在選中的文件夾上點(diǎn)右鍵,選擇New,再選擇Personal Geodatabase,如圖3.22所示。輸入個(gè)人數(shù)據(jù)庫(kù)的名稱,這時(shí)該數(shù)據(jù)庫(kù)是空的。
圖3.22 建立本地個(gè)人地理數(shù)據(jù)庫(kù) 建立數(shù)據(jù)庫(kù)
Geodatabase中的基本組成項(xiàng)包括對(duì)象類、要素類和要素?cái)?shù)據(jù)集。當(dāng)數(shù)據(jù)庫(kù)中創(chuàng)建了這些項(xiàng)目后,可以建立更進(jìn)一步的項(xiàng)目,如子類、幾何網(wǎng)絡(luò)、注釋類等。
1)建立要素?cái)?shù)據(jù)集
建立一個(gè)新的要素?cái)?shù)據(jù)集,必須定義其空間參考,包括坐標(biāo)系統(tǒng)和坐標(biāo)域。數(shù)據(jù)集中的所有要素類用相同的坐標(biāo)系統(tǒng),所有要素類的所有要素的坐標(biāo)必須在域的范圍內(nèi)。在定義坐標(biāo)系統(tǒng)時(shí),可以選擇預(yù)先定義的坐標(biāo)系,或者以已有的要素?cái)?shù)據(jù)集的坐標(biāo)系或獨(dú)立要素類的坐標(biāo)系作為模板,或者自己定義。
(1)在ArcCatalog目錄樹(shù)中,在需要建立新要素?cái)?shù)據(jù)集的地理數(shù)據(jù)庫(kù)上單擊右鍵,單擊New,選擇Feature Dataset命令,打開(kāi)New Feature Dataset對(duì)話框,如圖3.23所示。(2)在Name窗口輸入要素?cái)?shù)據(jù)集名稱,單擊Edit按鈕,打開(kāi)Spatial Reference屬性對(duì)話框,如圖3.24所示。
圖3.23 New Feature 對(duì)話框圖 3.23 Spatial Reference屬性對(duì)話框
(3)進(jìn)入Coordinate System選項(xiàng)卡,單擊Select或Import來(lái)設(shè)置要素?cái)?shù)據(jù)集的空間參考?;騿螕鬘ew定義新的投影和坐標(biāo)系統(tǒng)。定義好后可以單擊Modify按鈕編輯所選擇的坐標(biāo)系統(tǒng)參數(shù)。
(4)進(jìn)入X/Y Domain選項(xiàng)卡,如圖3.25所示。在數(shù)值窗口分別輸入數(shù)據(jù)集的最大最小X,Y值及所需精度。(5)進(jìn)入Z Domain選項(xiàng)卡,如果要素?cái)?shù)據(jù)集中的要素類有Z值,輸入最大最小的Z值及所需精度。
(6)進(jìn)入M Domain選項(xiàng)卡,如果要素?cái)?shù)據(jù)集中的要素類有M值,輸入最大最小的M值及所需精度。(7)單擊確定按鈕即可完成要素?cái)?shù)據(jù)集的空間參考的定義。
2)建立要素類
要素類分為簡(jiǎn)單要素類和獨(dú)立要素類。簡(jiǎn)單要素類存放在要素?cái)?shù)據(jù)集中,不需要定義空間坐標(biāo);獨(dú)立要素類存放在要素?cái)?shù)據(jù)集之外,必須定義空間坐標(biāo)。
(1)建立一個(gè)簡(jiǎn)單的要素類
1)在ArcCatalog目錄樹(shù)中,在需要建立要素類的要素?cái)?shù)據(jù)集上單擊右鍵,單擊New,選擇Feature Class命令,如圖3.26所示。
圖3.26 在要素?cái)?shù)據(jù)集中建立要素類
2)打開(kāi)New Feature Class對(duì)話框,如圖3.27所示。在Name文本框中輸入要素類名稱,在Alias文本框中輸入要素類假名,假名是對(duì)真名的描述。在Type選項(xiàng)組選擇This feature class will store ESRI simple features單選按鈕。
3)單擊下一步按鈕,打開(kāi)確定要素類數(shù)據(jù)庫(kù)關(guān)鍵字對(duì)話框,如圖3.28所示。選擇Use configuration keyword單選按鈕,輸入關(guān)鍵字,這是為新表或要素類指定相關(guān)的數(shù)據(jù)庫(kù)存儲(chǔ)參數(shù)(如果想用默認(rèn)的要素類存儲(chǔ)參數(shù),單擊Default)。
圖3.39 確定要素類字段名及其類型與屬性 圖3.30 定義要素類幾何字段屬性
4)單擊下一步按鈕,打開(kāi)確定要素類字段名及其類型與屬性對(duì)話框,如圖3.29所示。在簡(jiǎn)單要素類中,OBJECTID和SHAPE字段是必需字段,OBJECTID是要素的ID,SHAPE是要素的幾何形狀,如點(diǎn)、線、多邊形等。
5)單擊Field Name列下面的第一個(gè)空白行,添加新字段,輸入新字段名,并選取數(shù)據(jù)類型。
6)在Field Properties欄中顯示字段屬性:新字段名的假名、字段在ArcMap Editor中的可編輯狀態(tài)、新字段中是否允許出現(xiàn)空值Null;在Default Value 右邊輸入默認(rèn)值,建立默認(rèn)值與字段的關(guān)聯(lián)關(guān)系;在Domain右邊,單擊字段的域,把一個(gè)域同字段關(guān)聯(lián)。
7)單擊Field Name列下的字段SHAPE,在Field Properties選項(xiàng)卡顯示幾何字段SHAPE的屬性特征。如圖3.30所示。
8)在Field Properties欄中輸入幾何字段假名,并在Allow NULL values中選擇No,幾何字段中禁止出現(xiàn)空值Null,在Geometry Type 中選擇該要素類中存儲(chǔ)的要素類型。
9)分別在Gridq,Grid2,Grid3右邊輸入幾何要素類的空間索引格網(wǎng)大?。℅rid1必須大于0,Grid2和Grid3可以是0)
10)在contains Z Values 右邊選擇Yes,讓這個(gè)要素類的幾何字段存儲(chǔ)Z值。在contains M Values右邊選擇Yes, 讓這個(gè)要素類的幾何字段存儲(chǔ)M值。
11)因?yàn)檎谝丶薪⒁仡?,所以不能修改空間參考。
12)單擊完成按鈕,即可完成幾何字段屬性的定義,建立一個(gè)簡(jiǎn)單要素類。
(2)建立一個(gè)獨(dú)立要素類
獨(dú)立要素類就是在地理數(shù)據(jù)庫(kù)中不屬于任何要素?cái)?shù)據(jù)集的要素類,其建立方法與在要中建立簡(jiǎn)單要素類相似。只是獨(dú)立要素類
設(shè)定自己的投影系統(tǒng)參數(shù)和X/Y域。1)在ArcCatalog目錄樹(shù)中,在需要建立獨(dú)立要素類的地理數(shù)據(jù)庫(kù)上單擊右鍵,單擊New,選擇Feature Class命令。2)其余過(guò)程與建立簡(jiǎn)單要素類相同,直到進(jìn)入定義要素類幾何字段屬性對(duì)話框,參見(jiàn)圖3.30。單擊Spatial Reference屬性按鈕,打開(kāi)Spatial Reference屬性對(duì)話框,即可建立自己的空間參考坐標(biāo)系統(tǒng)和X/Y域。3)單擊完成按鈕。
第二篇:access創(chuàng)建數(shù)據(jù)庫(kù)-教案
創(chuàng)建數(shù)據(jù)庫(kù)
計(jì)算機(jī)組
余金光
一.教學(xué)重點(diǎn) 1.數(shù)據(jù)庫(kù)的創(chuàng)建方法 2.退出數(shù)據(jù)庫(kù) 二.教學(xué)難點(diǎn)
打開(kāi)數(shù)據(jù)庫(kù)的方法和退出關(guān)閉數(shù)據(jù)庫(kù)的方法 三.教學(xué)方法
演示法,討論法,講授法,練習(xí)法 四.教學(xué)課時(shí):1課時(shí) 五.教學(xué)過(guò)程 1.情景導(dǎo)入
通過(guò)多媒體播放和access數(shù)據(jù)庫(kù)相關(guān)的視頻,讓學(xué)生直觀認(rèn)識(shí)access在實(shí)際工作中的應(yīng)用,并鼓勵(lì)學(xué)生發(fā)表自己的看法。
2.引入新課
結(jié)合上面的視頻內(nèi)容,分析access在示例中的是如何發(fā)揮作用的,進(jìn)而引申出access數(shù)據(jù)庫(kù)的概念,并讓學(xué)生思考如何創(chuàng)建數(shù)據(jù)庫(kù)。
3.創(chuàng)建數(shù)據(jù)庫(kù)的方法
通過(guò)PPT的播放,讓學(xué)生直觀了解數(shù)據(jù)庫(kù)的創(chuàng)建方法: 1.“文件”>>“新建”>>“空數(shù)據(jù)”、“根據(jù)現(xiàn)有文件”、“本機(jī)上的模板”、“office online模板...”
2.數(shù)據(jù)庫(kù)的打開(kāi)和關(guān)閉 由于新創(chuàng)建的數(shù)據(jù)庫(kù)文件在退出access2003前默認(rèn)是打開(kāi)的,使用其他的數(shù)據(jù)庫(kù)文件或新建數(shù)據(jù)庫(kù)已關(guān)閉的,需要打開(kāi)數(shù)據(jù)庫(kù)文件。
通過(guò)過(guò)媒體演示,讓學(xué)生觀看具體的創(chuàng)建和打開(kāi)關(guān)閉方法。并根據(jù)教師的演示,讓學(xué)生通過(guò)學(xué)生機(jī)進(jìn)行實(shí)際演練,對(duì)在演練中發(fā)現(xiàn)的問(wèn)題及時(shí)反饋。
六.教學(xué)總結(jié)
本節(jié)課主要介紹了數(shù)據(jù)庫(kù)的創(chuàng)建、打開(kāi)和退出方法。通過(guò)一系列的現(xiàn)代化技術(shù)的應(yīng)用,使同學(xué)們能夠直觀形象的對(duì)該課程的知識(shí)具備了初步和認(rèn)識(shí)和簡(jiǎn)單的操作能力,同時(shí)要求同學(xué)們?cè)谡n下要多加思考其他與數(shù)據(jù)庫(kù)創(chuàng)建有關(guān)的內(nèi)容,認(rèn)真完成課后作業(yè)。
第三篇:創(chuàng)建數(shù)據(jù)庫(kù)的相關(guān)知識(shí)
create database PeronalBlog
/*創(chuàng)建文章內(nèi)容表(id,標(biāo)題,內(nèi)容,關(guān)鍵字)*/
create table TitleInfo(Tid varchar(20)primary key,Ttile varchar(20)not null,Ttext varchar(8000)not null,Tkey varchar(20)not null)
insert intoTitleInfo values('112401','我愛(ài)家鄉(xiāng)','我的家鄉(xiāng)在四處','四川')
/*創(chuàng)建文章信息表(文章id,文章標(biāo)題,文章關(guān)鍵字,文章創(chuàng)建日期,文章瀏覽次數(shù),文章類型,文章是否隱藏)*/
create table ArticleDetail(tid varchar(20)primary key,tTitle varchar(20)not null,tkey varchar(20)not null,tDate date not null,tText varchar(8000)not null,tLookNum int ,tType varchar(20)not null,tIsSee varchar(4)not null)
/*創(chuàng)建瀏覽信息表(id,瀏覽內(nèi)容,瀏覽數(shù)量)*/
create table searchInfo(stId varchar(20)primary key,stTName varchar(100)not null,stDate date not null)
insert into searchInfovalues('112401','我愛(ài)家鄉(xiāng)','2014-05-01')
/*創(chuàng)建留言信息表(id,留言者姓名,留言日期,留言內(nèi)容,留言是否回復(fù),回復(fù)內(nèi)容)*/
create table liuyanInfo(liId varchar(20)primary key,liName varchar(20),liDate date not null,liText varchar(100)not null,liTName varchar(50)not null,liIsResponse varchar(2)not null,liResponseText varchar(100))
insert into liuyanInfovalues('112401','songyan','2014-04-04','想你了,親!','我愛(ài)家鄉(xiāng)','是','me too!')
/*創(chuàng)建評(píng)論信息表(id,評(píng)論者姓名,評(píng)論日期,評(píng)論是否審核,評(píng)論內(nèi)容,評(píng)論文章id,評(píng)論文章名字)*/
create table pinglunInfo(plId varchar(20)primary key,plName varchar(20),plDate date not null,plIsCheck varchar(2),plText varchar(20)not null,plTitleId varchar(20)not null,plTName varchar(20)not null)
insert into pinglunInfovalues('112401','songyan','2014-04-04','是','good','112401','我愛(ài)家鄉(xiāng)')
/*創(chuàng)建系統(tǒng)信息表*/
create table systemInfo(slId varchar(20)primary key,slLoginName varchar(20)not null,slPassword varchar(20)not null ,slBlogName varchar(20)not null,slBlogTheme varchar(20)not null,slOwner varchar(10)not null,slCreateDate date not null,slBlogDetail varchar(100),slBlogJianjie varchar(50))
insert into systemInfovalues('112401','owner','123456','回不到的昨天','浪漫回憶,向往未來(lái)','黃圓','2014-01-01','我的博客是我生活的寫(xiě)照,也是我們新一代人夢(mèng)的展現(xiàn)..','回望過(guò)去,展望明天!')
/*個(gè)人信息*/
Create table personInfo(pid varchar(20)primary key,pname varchar(20)not null,page int not null,psex varchar(2)not null,pXingzuo varchar(6)not null,pBornPlace varchar(20),pShcool varchar(20)not null,pXueli varchar(10)not null,pIntrest varchar(20)not null,pEmail varchar(50)not null,pNum varchar(20))
insert into personInfo values('112401','黃圓',18,'女','雙魚(yú)','四川','瓊州學(xué)院','本科','看相親節(jié)目','123456@yuan','10')
/*創(chuàng)建用戶信息*/
create table userInfo(uid varchar(20)primary key,name varchar(20)not null,password varchar(20)not null)
insert into userInfo values('112401','seeker','123')
/*好友表*/
create table friends(fid varchar(20)primary key,fname varchar(20)not null,fdate date not null,)
insert into friendsvalues('112401','songyan','2014-05-01')
/*---創(chuàng)建存儲(chǔ)過(guò)程
--------------------*/
/*輸入文章id查看文章類別信息*/
create procedure queryType @ttid varchar(20)
as
select ttTpyeid,tpname,tpKey,tpDetail
from titleType tp join ttTpye tt on tt.ttTypeid=tp.tpid where ttTpyeid=@ttid and tpid=@ttid
/*輸入文章id,查看留言信息*/
create procedure querLiuyanInfo@tid varchar(20)
as
select
tTitle,tKey,tDate,tType,tIsSee,liName,liDate,LiText,LiIsResponse,LIResponseText
fromtitle a joinliuyanInfo b on a.tid=b.liId
where a.tid=@tid and b.liId=@tid
/*輸入文章id,查看瀏覽信息*/
create procedure querSearchInfo@tid varchar(20)
as
select tTitle,tKey,tDate,tType,tIsSee, stText,stNum
fromtitle a joinserachInfo b on a.tid=b.stId
where a.tid=@tid and b.stId=@tid
/*輸入文章id,查看評(píng)論信息*/
create procedure querPinglunInfo@tid varchar(20)
as
select tTitle,tKey,tDate,tType,tIsSee,plName,plDate,plIsCheck
fromtitle a joinpinglunInfo b on a.tid=b.plId
where a.tid=@tid and b.plId=@tid
/*增加博文*/
create procedure insertAr @tid varchar(20),@tid1 varchar(20), @Title varchar(20),@text varchar(8000),@key varchar(20),@tpName varchar(10),@date date,@num int,@isSeevarchar(4)
as
begin
begin
insert into ArticleInfo values(@tid,@Title,@text,@key)
end
begin
insert into ArticleDetail values(@tid1,@Title,@key,@date,@num,@tpName, @isSee)
end
End
select COUNT(plId)
from pinglunInfo
whereplTName in
(selecttTitle
from ArticleDetail)
/*-------------------------創(chuàng)建登錄名和權(quán)限設(shè)定
--------------------*/
create login owner with password='123456'
create login seeker with password='123'
create user owner from login owner
create user seeker1from login seeker
grant select,delete,insert,update on liuyanInfo to owner
grant select,delete,insert,update on pinglunInfo to owner
grant select,delete,insert,update on searchInfoto owner
grant select,delete,insert,update on friendsto owner
grant select,delete,insert,update on personInfoto owner
grant select,update,insert,delete on ArticleDetail to owner
grant select,update,insert,delete on userInfo to owner
grant selecton liuyanInfo to seeker1
grant selecton pinglunInfo to seeker1
grant selecton searchInfoto seeker1
grant selecton friendsto seeker
1grant selecton personInfoto seeker1
grant selecton ArticleDetail to seeker1
112401 songyan 2014-05-01
112402 xuezeng 2014-05-01
112403 lina 2014-05-01
112404 qiushan 2014-06-01
112405 liuyan 2014-07-02
112406 huyiyi 2014-08-09
201407 zhenglihui 2014-09-09
201408 liping 2014-05-15
201409 sunzhouhong 2014-06-15
201410 sunshuai 2014-07-07
112401 songyan 2014-04-04 想你了,親!我愛(ài)家鄉(xiāng) 是 me too!112402 xuezeng 2014-05-05 踩一腳 我愛(ài)家鄉(xiāng) 是 回踩!112403 qiushan 2014-05-05 呵呵 我愛(ài)家鄉(xiāng) 是 呵呵。112404 liuyan 2014-05-06 也許天災(zāi)就在眼前 我愛(ài)家鄉(xiāng) 是 去去去、、、112405 酸牛奶 2014-06-05 交個(gè)朋友吧 我愛(ài)家鄉(xiāng) 是 餓@。你是、、112406 春天的敬意 2014-08-09 交個(gè)朋友吧 我愛(ài)家鄉(xiāng) 是 您是? 112407 吹吧 2014-09-09 我的愛(ài)人呢 我愛(ài)家鄉(xiāng) 否 無(wú)
第四篇:VFP講稿(創(chuàng)建數(shù)據(jù)庫(kù)和表)
第二部分
數(shù)據(jù)庫(kù)的創(chuàng)建與單命令
創(chuàng)建數(shù)據(jù)庫(kù)和表
一、Visual FoxPro 6.0的配置
P28
二、項(xiàng)目及其管理器
P31
1.項(xiàng)目的概念
項(xiàng)目:是文件、數(shù)據(jù)、文檔和Visual FoxPro對(duì)象的集合,被保存為擴(kuò)展名為PJX的文件。
建立項(xiàng)目可以對(duì)相關(guān)的內(nèi)容(項(xiàng)目的各組成部分)進(jìn)行統(tǒng)一組織、統(tǒng)一管理。
項(xiàng)目管理器:是Visual FoxPro中處理數(shù)據(jù)和對(duì)象的主要組織工具,是Visual FoxPro的“控制中心”。
項(xiàng)目管理器為其各個(gè)組成部分提供了一個(gè)組織良好的分層結(jié)構(gòu)視圖。利用項(xiàng)目管理器,用戶可以創(chuàng)建、修改、移出或刪除文件。只要簡(jiǎn)單地單擊鼠標(biāo),就可以跟蹤表和查詢,組織表單、報(bào)表、標(biāo)簽、代碼、位圖和其它文件。
2.項(xiàng)目的創(chuàng)建
3.一個(gè)項(xiàng)目產(chǎn)生兩個(gè)文件.PJX和.PJT。4.打開(kāi)/關(guān)閉項(xiàng)目 5.選項(xiàng)卡
三、Visual FoxPro 數(shù)據(jù)庫(kù)的基本操作
P93 1.建立數(shù)據(jù)庫(kù)
(1)在項(xiàng)目管理器中建立 *(2)從“新建”對(duì)話框中建立 *(3)用命令建立
P94(4)新建立的數(shù)據(jù)庫(kù)有三個(gè)文件
三個(gè)文件的擴(kuò)展名分別是:dbc
dct
dcx ? dbc數(shù)據(jù)庫(kù)文件的擴(kuò)展名 ? dct數(shù)據(jù)庫(kù)備注文件的擴(kuò)展名 ? dcx數(shù)據(jù)庫(kù)索引文件的擴(kuò)展名 2.打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)(1)打開(kāi)數(shù)據(jù)庫(kù) 有三種打開(kāi)方法: ? 在項(xiàng)目管理器中打開(kāi) ? *從“打開(kāi)”對(duì)話框中打開(kāi) ? *用命令打開(kāi)
OPEN DATABASE命令
P95(2)關(guān)閉數(shù)據(jù)庫(kù) CLOSE DATABASE 3.數(shù)據(jù)庫(kù)設(shè)計(jì)器
有三種打開(kāi)方法: ? 在項(xiàng)目管理器中打開(kāi) ? *從“打開(kāi)”對(duì)話框中打開(kāi) ? *用命令打開(kāi)
MODIFY DATABASE命令
P98 4刪除數(shù)據(jù)庫(kù)
有兩種刪除方法: ? 在項(xiàng)目管理器中刪除 ? *用命令刪除
DELETE DATABASE命令
P99
四、數(shù)據(jù)庫(kù)表
1.建立數(shù)據(jù)庫(kù)表
P99(1)表設(shè)計(jì)器
(2)字段名:命名規(guī)則與內(nèi)存變量的命名規(guī)則相同??膳c內(nèi)存變量同名。(3)字段類型和寬度(4)建立數(shù)據(jù)庫(kù)表產(chǎn)生的文件(5)字段有效性組框(6)用命令建立表
使用命令CREATE <表名> 有打開(kāi)的數(shù)據(jù)庫(kù)時(shí),建立的是數(shù)據(jù)庫(kù)表,否則建立的是自由表。2.修改表結(jié)構(gòu)
P102(1)插入字段(2)刪除字段(3)修改字段
(4)用命令MODIFY STRUCTURE打開(kāi)表設(shè)計(jì)器進(jìn)行修改
五、自由表
如果當(dāng)前沒(méi)有打開(kāi)數(shù)據(jù)庫(kù),創(chuàng)建的表是自由表。1.創(chuàng)建自由表。
2.自由表和數(shù)據(jù)庫(kù)表的異同。
自由表和數(shù)據(jù)庫(kù)表的設(shè)計(jì)器不同。*數(shù)據(jù)庫(kù)表有很多附加信息。3.將自由表添加到數(shù)據(jù)庫(kù)。4.從數(shù)據(jù)庫(kù)中移出表。
第五篇:oracle-sql語(yǔ)句-創(chuàng)建表空間、數(shù)據(jù)庫(kù)
1、查看表空間的名稱及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0)ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
2、查看表空間物理文件的名稱及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;
3、查看回滾段名稱及大小
select segment_name, tablespace_name, r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+)order by segment_name;
4、查看控制文件
select name from v$controlfile;獲取創(chuàng)建表空間的sql select
dbms_lob.substr(dbms_metadata.get_ddl('TABLESPACE',a.tablespace_name))from dba_tablespaces a;
SQL> select sid,serial# from v$session where username='TEST';alter system kill session '150,9019';查看被鎖的表 select object_name,machine,s.sid,s.serial#,s.event from gv$locked_object l,dba_objects o,gv$session s where l.object_id=o.object_id and l.session_id=s.sid;alter system kill session ‘sid,serial#’;
5、查看日志文件
select member from v$logfile;
6、查看表空間的使用情況
select sum(bytes)/(1024*1024)as free_space,tablespace_name from dba_free_space group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES “% USED”,(C.BYTES*100)/A.BYTES “% FREE” FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
Select b.tablespace_name as表空間名,b.bytes as字節(jié)數(shù),(b.bytes-sum(nvl(a.bytes,0)))as已使用,sum(nvl(a.bytes,0))as剩余空間,sum(nvl(a.bytes,0))/(b.bytes)*100 as 剩余百分比 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;
7、查看數(shù)據(jù)庫(kù)庫(kù)對(duì)象
select owner, object_type, status, count(*)count# from all_objects group by owner, object_type, status;
8、查看數(shù)據(jù)庫(kù)的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
9.查看某個(gè)表空間內(nèi)所占空間大于某個(gè)值的段(表或索引):
Select segment_name,bytes FROM dba_segments Where bytes>10000000 AND tablespace_name='tablespace_name';10.查看所有表空間的碎片程度(值在30以下表示碎片很多)
select tablespace_name,sum(bytes),sum(free),sum(free)*100/sum(bytes)from(select
b.file_id file_ID,b.tablespace_name tablespace_name,b.bytes Bytes,(b.bytes-sum(nvl(a.bytes,0)))used,sum(nvl(a.bytes,0))free,sum(nvl(a.bytes,0))/(b.bytes)*100
Percent
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id)group by tablespace_name order by sum(free)*100/sum(bytes);11.查看自上次數(shù)據(jù)庫(kù)啟動(dòng)以來(lái)所有數(shù)據(jù)文件的讀寫(xiě)次數(shù)
select
substr(DF.NAME,1,5)Drive,DF.NAME file_name,(fs.phyblkrd+fs.phyblkwrt)
from v$filestat fs,v$datafile df
where df.file#=fs.file#;
創(chuàng)建臨時(shí)表空間: //創(chuàng)建臨時(shí)表空間
create temporary tablespace mytest tempfile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;
//創(chuàng)建數(shù)據(jù)表空間
create tablespace mytest_data logging datafile 'E:/Program/oracle/product/10.1.0/oradata/orcl/mytest_data.dbf' size 32m autoextend on next 32m maxsize 1024m extent management local;//創(chuàng)建用戶并指定表空間
create user testaccount identified by testpwd default tablespace mytest_data temporary tablespace mytest;//給用戶授予權(quán)限
grant connect,resource to testaccount;(db2:指定所有權(quán)限)12,創(chuàng)建一個(gè)用戶:
CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLYOR IDENTIFIED GLOBALLY AS ‘CN=user’[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE temptablespace][QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace[PROFILES profile_name][PASSWORD EXPIRE][ACCOUNT LOCK or ACCOUNT UNLOCK];
//查看數(shù)據(jù)庫(kù)中的所有用戶: select * from all_users;//or select * from dba_users 13查看oracle最大連接數(shù): Select session_max,session_current,sessions_highwater,users_max from v$license;Select username,count(username)from v$session group by username;加密存儲(chǔ)過(guò)程 WRAP
INAME=D:ORACLESOURCEDATE.SQL ONAME=D:ORACLESOURCEDATA.PLD