資料庫基礎
『壹』 資料庫基礎
資料庫 主要是一些概念的理解
例如 資料庫、表、列、行 的關系。
1NF 2NF 3NF 什麼的基本概念。
要背的, 一般也就是幾個 主要的 sql 語句裡面的關鍵字 和 語法
例如
查詢用的 SELECT
插入用的 INSERT
更新用的 UPDATE
刪除用的 DELETE
『貳』 MySQL資料庫基礎+ 資料庫的基本操作
需要用的資料以鏈接的形式給需要的同學。
我用的mysql版本為: Mysql-5.5.45-win64.msi 密碼是:26zw
圖形化工具 Navicat(前期不推薦用,直接手動敲): Navicat 密碼:c7fs
開始我的MySQL之旅吧 始於2016.12.04
--WH
一、資料庫的安裝
這個就不在這里過多闡述了,因為網上實在是太多安裝mysql的教程了,有了我給的mysql,在按照這個安裝教程(MySQL安裝教程)去看,就能夠安裝完好。
安裝好mysql後,如果需要使用windows命令窗口(也就是cmd)來操作mysql,那麼就需要配置環境變數,在安裝好的mysql下找到bin,將其目錄放到環境變數path中去,就行了,檢測成功與否的方法是在cmd命令窗口中輸入mysql,就會出現一大段英文,就說明成功了,反之失敗,如果不會的話就去網路搜教程。
二、資料庫的基本操作
1、開啟mysql服務命令
net start mysql
2、進入mysql的兩種方式
明文進入:mysql -uroot -proot格式:mysql -u帳號-p密碼
密文進入:mysql -uroot -p 按enter會提示你輸入密碼(Enter pssword:),此時你寫的密碼就會顯示為***這樣。
3、查看mysql中所有的資料庫(一般在固定的單詞命令就會是用大寫,這個要習慣,看多了敲多了就認識了)
前面四個資料庫是mysql中自帶的,也就是必須的.
SHOW DATABASES;
4、創建名為test_1的資料庫
格式:CREATE DATABASE 資料庫名
CREATE DATABASE test_1;
5、刪除名為test_1的資料庫
格式:DROP DATABASE 資料庫名
DROP DATABASE test_1;
總結:學習了對資料庫的三個操作,1、查看所有資料庫 2、創建資料庫 3、刪除資料庫
三、數據表的基本操作
數據表和資料庫還有Mysql三者的關系
mysql中保存了很多資料庫、一個資料庫中可以保存很多表。
對數據表的增(創建表)刪(刪除表)改(修改表欄位)查(查詢表結構)。 注意:這里的操作對象是表,對表的操作也就是表的結構,和表中的欄位的操作(欄位和記錄要分清楚)
前提:表是在資料庫下的,所以要先確實使用哪個資料庫。
USE test_1;
1、創建數據表
格式:CREATE TABLE 數據表名(
欄位名1數據類型[列級別約束條件],
欄位名2數據類型[列級別約束條件],
欄位名3數據類型[列級別約束條件]
);
注意:格式不一定需要這樣隔著寫,完全可以全部寫成一行。但是那樣寫可觀性非常差。我這樣寫只是為了可以看的更清晰。
解釋:
1、[]中括弧中的內容表示可以有可以沒有,
2、列級別這個「列」一定要搞清楚說的是什麼,一張表中有行有列,列表示豎,行表示橫
3、約束條件後面會講到
1.1、創建沒有約束的student表
CREATE TABLE student( idINT(11), nameVARCHAR(12), ageINT(11) );
注釋:SHOW TABLES 查詢資料庫底下的所有表。
1.2、創建有約束的student表
六大約束:主鍵約束、外鍵約束、非空約束、唯一約束、默認約束、自動增加
1.2.1:主鍵約束
PRIMARY KEY(primary key):獨一無二(唯一)和不能為空(非空),通俗的講,就是在表中增加記錄時,在該欄位下的數據不能重復,不能為空,比如以上面創建的表為例子,在表中增加兩條記錄,如果id欄位用了主鍵約束。則id不能一樣,並且不能為空。一般每張表中度有一個欄位為主鍵,唯一標識這條記錄。以後需要找到該條記錄也可以同這個主鍵來確認記錄,因為主鍵是唯一的,並且非空,一張表中每個記錄的主鍵度不一樣,所以根據主鍵也就能找到對應的記錄。而不是多條重復的記錄。如果沒有主鍵,那麼表中就會存在很多重復的記錄,那麼即浪費存儲空間,在查詢時也消耗更多資源。
一般被主鍵約束了的欄位度習慣性的稱該欄位為該表的主鍵
單欄位主鍵約束
兩種方式都可以
CREATE TABLE student(CREATE TABLE student(
idINT(11) PRIMARY KEY,idINT(11),
nameVARCHAR(12),nameVARCHAR(12),
ageINT(11) ageINT(11),
);PRIMARY KEY(id) );
多欄位主鍵約束(復合主鍵)
這個id和name都市主鍵,說明在以後增加的插入的記錄中,id和name不能同時一樣,比如說可以是這樣。一條記錄為id=1,name=yyy、另一條記錄為:id=1,name=zzz。 這樣是可以的。並不是你們所理解的兩個欄位分別度不可以相同。
CREATE TABLE student(CREATE TABLE student(
idINT(11) PRIMARY KEY,idINT(11),
nameVARCHAR(12) PRIMARY KEY,nameVARCHAR(12),
ageINT(11)ageINT(11),
);PRIMARY KEY(id,name) );
1.2.2:外鍵約束
什麼是外鍵舉個例子就清楚了,有兩張表,一張表是emp(員工)表,另一張表是dept(部門)表,一個員工屬於一個部門,那麼如何通過員工能讓我們自己他在哪個部門呢?那就只能在員工表中增加一個欄位,能代表員工所在的部門,那該欄位就只能是存儲dept中的主鍵了(因為主鍵是唯一的,才能確實是哪個部門,進而代表員工所在的部門,如果是部門名稱,有些部門的名稱可能是同名。就不能區分了。),像這樣的欄位,就符合外鍵的特點,就可以使用外鍵約束,使該欄位只能夠存儲另一張表的主鍵。如果不被外鍵約束,那麼該欄位就無法保證存儲進來的值就一定是另一張表的主鍵值。
外鍵約束的特點:
1、外鍵約束可以描述任意一個欄位(包括主鍵),可以為空,並且一個表中可以有多個外鍵。但是外鍵欄位中的值必須是另一張表中的主鍵。
2、這樣被外鍵關聯的兩種表的關系可以稱為父子表或者主從表。子表(從表)擁有外鍵欄位的表,父表(主表)被外鍵欄位所指向的表。
3、子表被外鍵約束修飾的欄位必須和父表的主鍵欄位的類型一樣。
注意:一個表中有被外鍵修飾的欄位,就稱該表有外鍵(是「有外鍵」。而不是「是外鍵」),並會給該表中的外鍵約束取一個名稱,所以我們常說的這個表有沒有外鍵,指的不是被外鍵約束修飾的欄位名,而是指這個表是否有存在外鍵約束。也就是說,不能說這個表的外鍵是xxx(該表中被外鍵約束修飾的欄位名),這種說法是錯誤的,但是大多數人已經習慣了這樣,雖然影響不大,但是在很多時候需要理解一個東西時,會造成一定的困擾。
格式:CONSTRAINT外鍵名稱FOREIGN KEY(被外鍵約束的欄位名稱)REFERENCES 主表名(主鍵欄位)
英文解釋:CONSTRAINT:約束REFERENCES:參考
CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22),
location VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE tableB
(
id INT(11),
name VARCHAR(22) NOT NULL,
deptId INT(11),
PRIMARY KEY(id),
CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id)
);
解釋:tableB中有一個名為tableA_tableB_1的外鍵關聯了tableA和tableB兩個表,被外鍵約束修飾的欄位為tableB中的deptId,主鍵欄位為tableA中的id
1.2.3:非空約束
NOT NULL. 被該約束修飾了的欄位,就不能為空,主鍵約束中就包括了這個約束
CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) NOT NULL,
location VARCHAR(50),
PRIMARY KEY(id)
);
1.2.4:唯一約束
UNIQUE 被唯一約束修飾了的欄位,表示該欄位中的值唯一,不能有相同的值,通俗點講,就好比插入兩條記錄,這兩條記錄中處於該欄位的值不能是一樣的。
CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) UNIQUE,
location VARCHAR(50),
PRIMARY KEY(id)
);
也就是說在插入的記錄中,每條記錄的name值不能是一樣的。
1.2.5:默認約束
Default 指定這一列的默認值為多少,比如,男性同學比較多,性別就可以設置為默認男,如果插入一行記錄時,性別沒有填,那麼就默認加上男
CREATE TABLE table
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
deptId INT(11) DEFAULT 1111,
salary FLOAT
);
1.2.6:自動增加
AUTO_INCREMENT 一個表只能一個欄位使用AUTO_INCREMENT,並且使用這個約束的欄位只能是整數類型(任意的整數類型 TINYINT,SMALLIN,INT,BIGINT),默認值是1,也就是說從1開始增加的。一般就是給主鍵使用的,自動增加,使每個主鍵的值度不一樣,並且不用我們自己管理,讓主鍵自己自動生成
CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL );
2、查詢表結構
2.1、查看錶基本結構語句
格式1:DESCRIBE 表名/DESC 表名這兩個的功能是一樣的,簡寫了單詞describe
DESCRIBEstudent;
2.2、查看創建表的語句
格式:SHOW CREATE TABLE 表名
SHOW CREATE TABLE student;
這樣顯示的格式很不好,看不清楚,所以有了下面這個語句
格式:SHOW CREATE TABLE 表名\G
SHOW CREATE TABLE student\G;
3、修改數據表
修改數據表包括:對表中欄位的增加、刪除、修改。 在這個裡面用的關鍵字為 ALTER
3.1、修改表名
格式:ALTER TABLE<舊表名> RENAME[TO]<新表名>;
將student表名改為student1(改完後在改回來)
ALTER TABLE student RENAME TO student1;
3.2、修改表中的欄位名
格式:ALTER TABLE<表名> CHANGE<舊欄位名><新欄位名><新數據類型>
將student表中的name欄位名改為 username
ALTER TABLE student CHANGE name username VARCHAR(30);
3.3、修改表中的數據類型
格式:ALTER TABLE<表名> MODIFY<欄位名><數據類型>
ALTER TABLE student MODIFY username VARCHAR(20);
解釋:只能修改欄位名的數據類型,但是其原理跟上面change做的事情一樣,這里也有修改欄位名的過程,只不過修改後的欄位名和修改前的欄位名相同,但是數據類型不一樣。
3.4、修改欄位的排列位置
方式1:ALTER TABLE<表名> MODIFY<欄位1><數據類型> FIRST|AFTER<欄位2>
解釋:將欄位1的位置放到第一,或者放到指定欄位2的後面
ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;
方式2:ALTER TABLE<表名> CHANGE<欄位1><欄位2><數據類型> FIRST|AFTER<欄位3>
解釋:其實是一樣的,將是欄位2覆蓋欄位1,然後在進行排序
ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;
總結
CHANGE和MODIFY的區別?
原理都市一樣的,MODIFY只能修改數據類型,但是CHANGE能夠修改數據類型和欄位名,也就是說MODIFY是CHANGE的更具體化的一個操作。可能覺得用CHANGE只改變一個數據類型不太爽,就增加了一個能直接改數據類型的使用關鍵字MODIFY來操作。
3.5、添加欄位
格式:ALTER TABLE<表名稱> ADD<新欄位名><數據類型>[約束條件][FIRST|AFTER<已存在的表名>]
解釋:在一個特定位置增加一個新的欄位,如果不指定位置,默認是最後一個。
ALTER TABLE student ADD sex VARCHAR(11);
3.6、刪除欄位
格式:ALTER TABLE<表名稱> DROP<欄位名>;
ALTER TABLE student DROP sex;
3.7、刪除表的外鍵約束
格式:ALTER TABLE<表名稱> DROP FOREIGN KEY<外鍵約束名>
注意:外鍵約束名 指的不是被外鍵約束修飾的欄位名,切記,而是我們在創建外鍵約束關系時取的名字。
3.8、更改表的存儲引擎
格式:ALTER TABLE<表名> ENGINE=<更改後的存儲引擎名>
這個存儲引擎目前我自己也不太清楚,雖然知道有哪幾種引擎,但是稍微深入一點就不清楚了,所以打算留到日後在說。
4、刪除表
4.1、刪除無關聯表
格式:DROP TABLE<表名>;
ALTER TABLE student;
4.2、刪除被其他表關聯的主表
這個是比較重要的一點,在有外鍵關聯關系的兩張表中,如果刪除主表,那麼是刪不掉的,並且會報錯。因為有張表依賴於他。那怎麼辦呢?針對這種情況,總共有兩種方法
1、先刪除你子表,然後在刪除父表,這樣就達到了刪除父表的目的,但是子表也要被刪除
2、先解除外鍵關系,然後在刪除父表,這樣也能達到目的,並且保留了子表,只刪除我們不需要的父表。在3.7中就講解了如何刪除外鍵關系。
『叄』 sql資料庫入門需要學習那些
資料庫基本原理,要懂一些的.
可以對照理論在SQL資料庫中走例子, 大量的練習這個是必須的了.
學會了基本的,搞搞SQL優化,便是提高了.
『肆』 資料庫基礎知識
1)
select b.name from book as a ,student as b where a.title like '資料庫原
理';
2)
select a.sid form student as a, lend as b,return as c where (b.sid =
a.sid or c.sid = a.sid )and ldate = rdate;
3)
select distinct (t.title)書名,(select(max(a.price) from book as a)價格
from book as t
『伍』 資料庫學習需要什麼基礎
不需要基礎,計算機的學習最大的基礎就是興趣,只要有興趣,許多東西不學就會了。
『陸』 基礎資料庫
(一)數據內容
基礎資料庫包括系統運行前所採集到的所有支撐數據,數據的具體內容在數據分類與數據源章節中已描述,概括可分為以下幾類。
(1)遙感影像數據:包括歷史圖像數據,以及按照一定監測周期更新的遙感圖像數據。
(2)數字線劃圖數據:矢量數據(現狀專題圖和歷史專題圖數據)、柵格數據、元數據等。入庫前數據以ArcInfoCoverage格式分幅或整體存儲,採用地理坐標系統。
(3)數字柵格圖數據:包括1∶5萬和1∶10萬基礎地理圖形數據的掃描柵格數據。
(4)數字高程模型數據:塔里木河幹流河道1∶1萬和「四源一干」區域1∶10萬數字高程模型。
(5)多媒體數據:考察照片、錄像、錄音和虛擬演示成果等多媒體資料。
(6)屬性數據:社會經濟與水資源數據、水利工程數據、生態環境數據等。
(二)數據存儲結構
1.柵格數據
柵格數據包括遙感影像、數字柵格圖、數字正射影像圖、數字高程模型等,這些數據的存儲結構基本類似,因此可進行統一設計。遙感圖像資料庫與普通的圖像資料庫在存儲上有些差別,遙感圖像作為感測器對地理、空間環境在不同條件下的測量結果(如光譜輻射特性、微波輻射特性),必須結合同時得到的幾個圖像才可以認為是對環境在一定的時間條件下的完整的描述,也即是說,可能需要一個圖像集合才能構成一個圖像的完整的概念,並使之與語義信息產生聯系(羅睿等,2000)。因此,遙感圖像數據存儲結構模型必須能夠描述幾個圖像(波段)之間的邏輯關系。利用ArcSDE進行數據入庫時,系統可自動建立各圖像(波段)之間的關系,並按一定規則存儲在資料庫系統中。
對柵格數據在後台將採用Oracle資料庫管理系統進行存儲。Oracle系統可直接存儲影像信息,並具有較強的數據管理能力,可以實現柵格數據信息的快速檢索和提取。數據引擎採用ArcSDE,實現各類影像數據的入庫。數據存儲的關鍵是建立圖幅索引,本系統數據的存儲按圖幅號、圖名、採集時間等內容建立索引。
柵格數據依據圖形屬性一體化的存儲思想,採用大二進制格式直接存儲數據,這種方式的存儲可實現內容的快速檢索查詢,按索引表檢索出相關項後可直接打開柵格數據,提高柵格數據的管理效率。
2.矢量數據
本系統採用圖屬一體化思想即將空間數據和屬性數據合二為一,全部存在一個記錄集中的思想存儲空間數據,是目前GIS數據非常流行的存儲方法。考慮到數據的具體情況,決定採用資料庫存儲空間數據和屬性數據,部分具有少量、定型幾何信息的地理要素如水文測站、河流、湖泊等,採用圖屬一體化思想存儲其信息,而與其有關聯關系的大量、多邊化的屬性信息如水文信息,則存儲在屬性數據表中,利用唯一標識符信息建立兩表的關聯。
針對本系統空間數據的特點,系統按照「資料庫—子庫—專題(基礎數據)—層—要素—屬性」的層次框架來構築空間資料庫,按照統一的地理坐標系統來存儲空間數據,以實現對地理實體/專題要素進行分層疊加顯示。
3.多媒體數據
Oracle系統可直接存儲圖片和視頻信息,並具有較強的數據管理能力,可以實現多媒體信息的快速檢索和提取。多媒體數據存儲的關鍵是建立索引表,本系統多媒體數據的存儲按類型、時間、內容等項目建立索引,直接存儲於Oracle資料庫中。
多媒體數據存儲時,可以將多媒體內容與索引表結構合為一體,採用大二進制格式直接存儲,這種存儲方式可實現內容的快速檢索和查詢,按索引表檢索出相關項後可直接打開多媒體內容,而且多媒體資料庫也便於維護管理。
(三)空間索引設計
1.矢量空間索引
確定合適的格網級數、單元大小是建立空間格網索引的關鍵。格網太大,在一個格網內有多個空間實體,查詢檢索的准確度就低。格網太小,則索引數據量成倍增長和冗餘,檢索的速度和效率低。每一個數據層可採用不同大小、不同級別的空間索引格網單元,但每層級數最多不能超過三級。索引方式設置遵循以下基本原則:
(1)對於簡單要素的數據層,盡可能選擇單級索引格網,減少RDBMS搜索格網單元索引的級數,縮短空間索引搜索的過程;
(2)如果數據層中的要素封裝邊界大小變化比較大,應選擇2或3級索引格網;
(3)如果用戶經常對圖層執行相同的查詢,最佳格網的大小應是平均查詢范圍的1.5倍;
(4)格網的大小不能小於要素封裝邊界的平均大小。為了減少每個格網單元有多個要素封裝邊界的可能性,格網單元的大小應取要素封裝邊界平均大小的3倍;
(5)格網單元的大小不是一個確定性的問題,需要多次嘗試和努力才會得到好的結果。有一些確定格網初始值的原則,用它們可以進一步確定最佳的格網大小。
SDE(Spatial Data Engine,即空間數據引擎),從空間管理的角度看,是一個連續的空間數據模型,可將地理特徵的空間數據和屬性數據統一集成在關系型資料庫管理系統中。關系型資料庫系統支持對海量數據的存儲,從而也可實現對空間數據的海量存儲。空間數據可通過層來進行數據的劃分,將具有共同屬性的一類要素放到一層中,每個資料庫記錄對應一層中一個實際要素,這樣避免了檢索整個數據表,減少了檢索的數據記錄數量,從而減少磁碟輸入/輸出的操作,加快了對空間數據查詢的速度。
ArcSDE採用格網索引方式,將空間區域劃分成合適大小的正方形格網,記錄每一個格網內所包含的空間實體(對象),以及每一個實體的封裝邊界范圍,即包圍空間實體的左下角和右上角坐標。當用戶進行空間查詢時,首先計算出用戶查詢對象所在格網,然後通過格網號,就可以快速檢索到所需的空間實體。因此確定合適的格網級數、單元大小是建立空間格網索引的關鍵,太大或太小均不合適,這就需要進行多次嘗試,確定合適的網格大小,以保證各單元能均勻落在網格內。利用ArcSDE的索引表創建功能,記錄每一網格單元的實體分布情況,形成圖層空間索引表。根據空間索引表,ArcSDE實現了對空間數據的快速查詢。
2.柵格數據空間索引
柵格數據的空間索引通過建立多級金字塔結構來實現。以高解析度柵格數據為底層,逐級抽取數據,建立不同解析度的數據金字塔結構,逐級形成較低解析度的柵格數據。該方法通常會增加20%左右的存儲空間,但卻可以提高柵格數據的顯示速度。在資料庫查詢檢索時,調用合適級別的柵格數據,可提高瀏覽和顯示速度。
(四)入庫數據校驗
入庫數據的質量關繫到系統評價分析結果的准確性。數據在生產中就需要嚴格進行質量控制。依據數據生產流程,將數據質量控制分成生產過程式控制制和結果控制。生產過程式控制制包括數據生產前期的質量控制、數據生產過程中的實時質量控制,結果質量控制為數據生產完成後的質量控制(裴亞波等,2003)。對入庫數據的校驗主要是進行數據生產完成後的質量控制和檢查。
1.規范化檢查
(1)代碼規范化:所有地理代碼盡量採用國家標准和行業標准,例如,行政代碼採用中華人民共和國行政區劃代碼國標。
(2)數據格式規范化:所有數據採用標准交換數據格式,例如,矢量數據採用標准輸出Coverage格式和E00格式。
(3)屬性數據和關系數據欄位規范化:所有屬性數據和關系數據提前分門別類地設計欄位的內容、長短和格式,操作過程中嚴格執行。
(4)坐標系統規范化:本系統所有與空間有關的數據採用統一的空間坐標系統,即地理坐標系統。
(5)精度規范化:所有數據按照數據精度與質量控制中所要求的精度進行採集和處理。
(6)命名規范化:所有數據按照命名要求統一命名,便於系統的查詢。
(7)元數據規范化:依照元數據標准要求,進行元數據檢查。
2.質量控制
數據質量是GIS成敗的關鍵。對於關系型資料庫設計,只要能保證表的實體完整性和參照完整性,並使之符合關系資料庫的三個範式即可。對於空間資料庫設計,則不僅要考慮數據采樣、數據處理流程、空間配准、投影變換等問題,還應對數據質量做出定量分析。
數據質量一般可以通過以下幾個方面來描述(吳芳華等,2001):
(1)准確度(Accuracy):即測量值與真值之間的接近程度,可用誤差來衡量;
(2)精度(Precision):即對現象描述得詳細程度;
(3)不確定性(Uncertainty):指某現象不能精確測得,當真值不可測或無法知道時,就無法確定誤差,因而用不確定性取代誤差;
(4)相容性(Compatibility):指兩個來源不同的數據在同一個應用中使用的難易程度;
(5)一致性(Consistency):指對同一現象或同類現象表達的一致程度;
(6)完整性(Completeness):指具有同一準確度和精度的數據在類型上和特定空間范圍內完整的程度;
(7)可得性(Accessibility):指獲取或使用數據的容易程度;
(8)現勢性(Timeliness):指數據反映客觀現象目前狀況的程度。
塔里木河流域生態環境動態監測系統的所有數據在數據質量評價後,還需要從數據格式、坐標一致性等方面進行入庫質量檢驗,只有通過質量檢驗的數據才可以入庫。
3.數據檢驗
空間數據質量檢驗包括以下步驟:
(1)數據命名是否規范,是否按設計要求命名;
(2)數據是否能夠正常打開;
(3)投影方式是否正確;
(4)坐標系統是否正確;
(5)改錯是否完成,拓撲關系是否建立;
(6)屬性數據是否正確,包括欄位設置是否依據設計進行、是否有空屬性記錄、是否有屬性錯誤記錄等。
關系數據質量檢驗包括以下步驟:
(1)數據命名是否規范,是否按設計要求命名;
(2)數據是否能夠正常打開;
(3)數據欄位是否按設計要求設置;
(4)是否有空屬性記錄;
(5)是否有屬性錯誤記錄。
屬性數據的校驗,主要採用以下三種方式:
(1)兩次錄入校驗:對一些相互之間毫無關聯的數據,進行兩次的錄入,編寫程序對兩次錄入的結果進行比較,找出兩次錄入結果不一樣的數據,查看正確值,進行改正。
(2)折線圖檢驗:對一些相互之間有關聯的序列數據,如人口統計數據,對這一類數據,編寫程序把數據以折線圖的形式顯示在顯示器上,數據的序列一般都有一定規律,如果出現較大的波動,則需對此點的數據進行檢查修改。
(3)計算校驗:對一些按一定公式計算後所得結果與其他數據有關聯的數據,如某些數據的合計等於另一數據,編寫程序對這類數據進行計算,計算結果與有關聯的數據進行比較,找出結果不一樣的數據,查看正確值,進行改正。
圖形數據的校驗,主要包括以下步驟(陳俊傑等,2005):
(1)圖層校驗:圖形要素的放置圖層是唯一的。對於入庫的Coverage數據,系統將根據圖層代碼進行檢查,確保圖形要素對層入座。
(2)代碼檢查:圖形要素的代碼是唯一的。對於入庫的Coverage數據,系統將根據入庫要素代碼與特徵表中的代碼進行比較,確保入庫數據代碼存在,杜絕非法代碼入庫。
(3)類型檢查:對入庫的數據,檢查該要素的類型與特徵表中的類型是否一致,確保圖形要素對表入座。如點要素、線要素、面要素僅能賦相應的點、線、面代碼,且該代碼必須與特徵表中的數據類型代碼相同。
(4)范圍檢查:根據入庫的數據,確定該類要素的大體范圍(如X、Y坐標等),在數據入庫前,比較入庫數據與范圍數據的大小,若入庫數據在該范圍內,則入庫,否則給出提示檢查信息。
(五)數據入庫
1.遙感影像數據
利用空間數據引擎———ArcSDE可實現遙感影像數據在Oracle資料庫中的存儲和管理,在影像數據進行入庫時,應加入相應的索引和影像描述欄位。
遙感影像入庫步驟:
(1)影像數據預處理:要將塔里木河遙感影像資料庫建成一個多解析度無縫影像資料庫系統,客觀上要求資料庫中的影像數據在幾何空間、灰度空間連續一致。因此,在數據採集階段就需要對影像數據進行預處理,包括圖像幾何校正、灰度拼接(無縫鑲嵌)、正射處理、投影變換等。
幾何校正的目的是使校正後的圖像重新定位到某種地圖投影方式,以適用於各種定位、量測、多源影像的復合及與矢量地圖、DTM等的套合顯示與處理。幾何校正多採用二次多項式演算法和圖像雙線性內插重采樣法進行圖像校正。將糾正後具有規定地理編碼的圖像按多邊形圈定需要拼接的子區,逐一鑲嵌到指定模版,同時進行必要的色彩匹配,使整體圖像色調一致,完成圖像的幾何拼接,再採用金字塔影像數據結構和「從粗到精」的分層控制策略實現逐級拼接。
數字正射影像具有統一的大地坐標系、豐富的信息量和真實的景觀表達,易於製作具有「獨立於比例尺」的多級金字塔結構影像。可以採用DTM和外方位元素經過數字微分糾正方法,獲得數字正射影像,它的基本參數包括原始影像與正射影像的比例尺、采樣解析度等(方濤等,1997)。
投影變換需根據資料庫系統定義的標准轉換到統一的投影體系下。
(2)影像數據壓縮:隨著感測器空間解析度的提高和對遙感信息需求的日益增長,獲取的影像數據量成幾何級數增大,如此龐大的數據將佔用較大的存儲空間,給影像的存儲和傳輸帶來不便(葛詠等,2000)。目前,系統處理的遙感影像數據已達數百千兆,單個文件的影像數據最大達到了2G,這樣的數據量在調用顯示時速度很慢,對影像數據進行壓縮存儲,將大大提高影像訪問效率。本系統採用ArcSDE軟體提供的無損壓縮模式對入庫影像進行壓縮。
(3)影像導入:遙感影像的入庫可通過ArcSDE或入庫程序進行導入,並填寫相關的索引信息,在入庫時對大型的遙感影像數據進行自動分割,分為若乾的塊(tiles)進行存儲。
(4)圖像金字塔構建:採用ArcSDE提供的金字塔構建工具在入庫時自動生成圖像金字塔,用戶只需要選擇相應的參數設置即可。圖像金字塔及其層級圖像按解析度分級存儲與管理。最底層的解析度最高,並且數據量最大,解析度越低,其數據量越小,這樣,不同的解析度遙感圖像形成了塔式結構。採用這種圖像金字塔結構建立的遙感影像資料庫,便於組織、存儲與管理多尺度、多數據源遙感影像數據,實現了跨解析度的索引與瀏覽,極大地提高了影像數據的瀏覽顯示速度。
2.數字線劃圖
對紙圖數字化、配准、校正、分層及拼接等處理後,生成標准分幅和拼接存儲的數字矢量圖,就可以進行圖形數據入庫。
(1)分幅矢量圖形數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間、圖層等方式,通過入庫程序導入到資料庫中,同時導入與該地理信息相對應的屬性信息,建立空間信息與屬性信息的關聯。
(2)拼接矢量圖形數據:按圖形比例尺、製作時間、圖層等方式,通過入庫程序導入到資料庫中,同時導入與該地理信息相對應的屬性信息,建立空間信息與屬性信息的關聯。
3.柵格數據
對紙圖數字化、配准、校正、分層及拼接等處理後,生成標准分幅和整體存儲的數字柵格圖,然後進行圖形數據入庫。
(1)分幅柵格圖形數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間等方式,通過入庫程序導入到資料庫中。
(2)整幅柵格圖形數據:按比例尺、製作時間等方式,通過入庫程序導入到資料庫中。
4.數字高程模型
(1)分幅數字高程模型數據、圖幅接合表:按圖形比例尺、圖幅號、製作時間等方式,通過入庫程序導入到資料庫中。
(2)拼接數字高程模型數據:按比例尺、製作時間等方式通過入庫程序導入到資料庫中。
5.多媒體數據
多媒體數據入庫可根據多媒體資料庫內容的需要對入庫數據進行預處理,包括音頻、視頻信息錄制剪接、文字編輯、色彩選配等。對多媒體信息的加工處理需要使用特定的工具軟體進行編輯。由於音頻信息和視頻信息數據量巨大,因此,對多媒體數據存儲時需採用數據壓縮技術,現在的許多商用軟體已能夠直接存儲或播放壓縮後的多媒體數據文件,這里主要考慮根據數據顯示質量要求選擇採用不同的存儲格式。圖4-2為各類多媒體數據的加工處理流程。
圖4-2 多媒體數據加工處理流程圖
6.屬性數據
將收集的社會經濟、水利工程、生態環境等屬性資料,進行分析整理,輸入計算機,最後經過程序的計算處理,存儲到資料庫中,具體流程如圖4-3所示。
圖4-3 屬性數據入庫流程圖
『柒』 學資料庫要什麼基礎
Database理論基礎
SQL語言加強一下
然後啃一本Oracle入門書,並且多加練習,遇到困難多查manual
有問題別上網路這問,去找個專業點的Oracle論壇,邊學邊問
『捌』 資料庫基本概念
欄位
記錄中的一個數據項稱為欄位。
數據項
數據項也稱為分量,是資料庫中可以命名的最小邏輯數據單位,指某個元組對應列的屬性值,用來描述屬性的數據。
記錄
記錄也稱為元組,指的是關系中的一行數據,用它描述實體。它是數據項的有序集,即一個記錄是由若干個數據項組成。
『玖』 資料庫系統的基礎是什麼
現有的資料庫系統均是基於某種數據模型的。數據模型是資料庫系統的核心和基礎。
『拾』 什麼是資料庫的基礎數據
資料庫的基礎數據通常是指一些基本資料的數據,例如:
部門表
商品類型表
商品表
客商類型表
客商資料表
它們的特點就是(每行)單一一個對象,所以又叫基本資料表.
相對來講復雜的表,例如銷售訂單表.通常復合了多個對象,比如銷售訂單表可能有這些欄位:
落訂日期業務員客商ID單號等.已經包含了員工資料,和客商資料等.