數據庫應用是當前計算機最為廣泛的應用之一。這是因為數據庫具有強大的功能和靈活性。將authorware的交互性和數據庫的強大的功能和靈活性結合在一起,可以為用戶提供一個有力的工具,實現迅速有效的存取和管理數據。在本章中,將為大家介紹數據庫的概念以及在authorware中如何利用和操作數據庫。
數據庫技術是計算機科學技術中發展最快的領域之一,.也是應用最廣的技術之一,它是計算機信息系統與應用系統的核心技術和重要基礎。
數據庫技術從20世紀60年代中期產生到今天僅僅有30多年的歷史,卻已經歷了三代演變,造就了c.w.bachman、e.f.codd和james gray三位圖靈獎得主;發展了以數據建模和dbms核心技術為主導,內容豐富、領域寬廣的一門新學科;帶動了一個巨大的軟件產業——dbms產品及其相關工具和解決方案。
在了解authorware對數據庫操作方法之前,我們對數據庫的知識進行簡單的介紹。
如果用戶在這之前使用過或學習過有關數據庫的話,就會對數據庫有一個基本的了解。數據庫是組織、存貯、管理數據的電子倉庫,是一個存貯在計算機內的通用化的、綜合性的、相互關聯的數據集合。數據庫的基本思想是要對所有的數據庫進行統一的、集中的管理,使數據獨立于程序而存在,并可以提供給各類不同的用戶共享使用。數據庫系統可以有三個部分組成:數據庫、數據庫管理系統和數據庫應用程序。
下面,先來了解一下數據庫和它包含的專業術語。
在一個基本的數據庫中,常常會涉及到數據庫、數據表、記錄、字段和數據值這些專業術語,它們都是與數據保存相關的一些集合,在它們中保存了一定范圍的數據。不同層次的數據將保存在不同的集合之中,可以按一定的方式查詢或使用這些數據。下面分別介紹這些概念。
(1)數據庫
數據庫(database)就是按一定的結構組織在一起的相關數據的集合。對于一個特定的數據庫來說,它是集中、統一地保存、管理著某一單位或某一領域內所有有用信息的系統。這個系統根據數據間的自然聯系結構而成,數據較少冗余,并且具有較高的數據獨立性,能為多種應用服務。如,學校中的所有學生的檔案,公司企業的人事檔案和有關的商務信息等。
(2)數據表
數據表(table)可以比喻成一個存放原始數據的特定容器,.是一種有關特定實體的數據集合。在一個數據表中,常常可以按照行或列的格式組織數據。對于每個實體分別使用的數據只需存儲一次。這將提高數據庫的效率,并減少數據輸入錯誤。有些數據庫系統的數據庫,表和數據庫是同一個概念,如dbase等,有一些的數據庫和表是不同的概念,如access等。比如說,在學校中關于學生信息的數據保存在一個表中,而有關學生的成績保存在另一張表中。
(3)記錄和字段
數據表可以被分為行和列,行稱為記錄(record),列成為字段(fields)。在表中同一行數據被稱為一條記錄。每一個信息行都可以設想為一個單獨的實體,它可以根據需要進行存取或排列。例如,在前面所舉的例子中,將學生表中的涉及同一學生的信息就包含在一條記錄中。記錄通常通過記錄在數據表中的唯一的數據值來識別,這個數據值通常被稱為主鍵。在表中同一列數據具有相似的信息,這些數據的列條目就是字段。例如:學號、姓名等等。每一個字段都通過明確的數據類型來進行識別,常見的數據類型有文本型、數字型、貨幣型等,字段必須定義特定的長度,每個字段在頂行用一個名字來表明其具體信息類別。
(4)數據值
數據表中的行和列,即記錄與字段的相交處就是值——存儲的數據元素。數據值的特點是不唯一性,在同一個表中,同一個值可能會重復出現。而每個數據值的字段和記錄卻是唯一的,字段可以用字段名來識別,記錄則通常通過記錄的某些唯一的特征符號來識別。
數據庫、數據表、記錄和字段之間的關系如圖1所示:
圖 1 數據庫、數據表、記錄和字段關系圖
簡稱為dbms,是用于描述、.管理和維護數據庫的程序系統,是數據庫系統的核心組成部分。它建立在操作系統的基礎上,對數據庫進行統一的管理和控制。它的主要功能是:
q 描述數據庫:描述和定義數據庫的邏輯結構、存儲結構、語義信息和保密要求等。
q 管理數據庫:控制整個數據庫系統的運行,控制用戶的并發性訪問,檢驗數據的安全、保密與完整性,執行數據檢索、插入、刪除、修改等操作。
q 維護數據庫:控制數據庫初始數據的裝入,記錄工作日志,監視數據庫性能,修改更新數據庫,重新組織數據庫,恢復出現故障的數據庫。
q 數據通信:組織數據的傳輸,以保證多個用戶同時使用數據庫。
根據數據庫管理系統所基于的數據模型的不同,數據庫管理系統(dbms)又可分為四種類型:文件管理系統、層次數據庫系統、網狀數據庫系統和關系數據庫系統。目前關系數據庫系統應用最為廣泛。如常見的foxpro、access、oracle等都屬于關系數據庫系統。在眾多的關系數據庫管理系統(rdbms)中,oracle和sysbase主要應用于大型數據庫應用系統,而dbase、foxbase、foxpro、access主要用于中小型數據庫應用系統。
dbms中存儲了大量的數據信息,其目的是為用戶提供數據信息服務,而數據庫應用程序正是與dbms進行通信,并訪問dbms中的數據,它是dbms實現其對外提供數據信息服務這一目的的唯一途徑。簡單地說,數據庫應用程序是一個允許用戶插入、修改、刪除并報告數據庫中的數據的計算機程序。數據庫應用程序在傳統上是由程序員用一種或多種通用或專用的程序設計語言編寫的,但是近年來出現了多種面向用戶的數據庫應用程序開發工具,這些工具可以簡化使用dbms的過程,并且不需要專門編程。
用來生成數據庫應用程序的語言主要分為以下類型:
(1)過程化語言
標準的計算機程序設計語言如pascal、basic和c都是過程化語言,這些語言可以通過某種“應用程序接口”(api)來創建數據庫應用程序,這種api由一組標準的函數(或調用)組成,這些函數和調用則擴展了語言的功能,使之能訪問數據庫中的數據。當程序設計人員用過程化語言創建數據庫應用時,必須把應用的代碼編寫成一系列的過程,每個過程執行應用的某一部分的工作,如一個過程查詢數據庫,而另一過程更新數據庫中的數據,然后不同的過程通過其他的用戶界面過程(例如菜單系統)聯系在一起,并且在應用中的適當地方運行。
上述這些過程化語言一般用來創建非數據庫應用程序,它們通常被稱為“第三代語言”(3gl)。還有一些過程化程序設計語言是某種特定的dbms專用的,這些語言一般被稱為“第四代語言”(4gl),即數據庫專用語言。常見的數據庫專用的過程化語言如dbase語言,paradox數據庫的pal語言等等。
(2)結構化查詢語言(sql)
結構化查詢語言(structure query language)是基于關系模型的數據庫查詢語言,它是一種非過程化的程序語言,也就是說,沒有必要寫出將如何做某件事情,只需寫出做到什么就可以了。寫出的語句可看作是一個問題,稱為“查詢”(query),針對這個查詢,得到所需的查詢結果。下面是一個例子:
select name,total from class where total>600
這個查詢意為從數據庫表class中將總分(total)大于600的所有人選出來,并列出他們的姓名(name)和總分(total)。
把sql描述為子語言更適當一些,因為它沒有任何屏幕處理或用戶輸入/輸出的能力。它的主要目的是為了提供訪問數據庫的標準方法,而不管數據庫應用的其余部分是用什么語言編寫的,它既是為數據庫的交互式查詢而設計的(因此被稱為動態sql),同時也可在過程化語言編寫的數據庫應用程序中使用(因此被稱為嵌入式sql)。
(3)其他語言
用于開發數據庫應用程序的語言中,還可以使用目前數常見的“面向對象程序設計”(oop)語言,如c++、 objact pascal等,oop代表了一種完全不同的程序設計方法,在這種程序設計方法中,活動被定義為在“對象”上發生的操作,而不是作為一系列過程來定義的。在數據庫應用程序中使用oop語言的情況正在不斷增加。
開發數據庫應用程序使用的另一種語言是“宏”語言。宏語言不是一種完全的程序設計語言,它實際上是一個用戶手工輸入的表,這個表被輸入到應用程序中,以便自動執行一定的任務。對于某個特定應用的高級語言,宏語言通常可以在低檔dbms軟件中或數據庫服務器的前端中找到。
(4)范例查詢語言
還有一種“query-by-example”(qbe,范例查詢)語言。嚴格地講qbe不是一種語言,它是面向用戶提供了一個或多個空表的界面,這些空表對應于數據庫中的表。用戶可以通過鍵盤選擇需要查詢的列,并在適當的列中填入條件從而定義查詢的檢索條件,然后dbms就把qbe轉換成相應的動作,以完成用戶要求的查詢任務。
現在,通過上面的介紹,已經可以知道了數據庫的基本概念。在前面的幾章中,已經初步掌握了使用操作流程線上的圖標來完成多媒體程序的設計。但是,在一些authorware的應用程序中,將與程序相關的數據組織在數據庫中進行操作,對數據庫的應用和管理會更方便。比如,可以將試題組織在一個試題數據庫中,通過authorware進行隨機地抽取試題;在一個地圖查詢的程序中,可以將有關地點的信息保存在數據庫中,通過authorware的交互界面進行動態的顯示;在一個職業代理機構中,可以在數據庫中保存相關人員的姓名、特長、以及是否現在有空等信息,并且通過authorware創建的交互界面來方便的獲取其中的信息。在實際運用中,還能想出許許多多與數據庫聯系的例子。
authorware連接和操作數據庫的方法比較簡單,它是通過兩種工業標準實現的:
qopen database connectivity (odbc),一個通用的與數據庫連接的標準。通過odbc可以對多種常見類型的數據庫進行訪問,如:access、dbase、foxpro、以及paradox等。.
q 結構化查詢語言(sql),向數據庫發送信息或者從數據庫獲取信息的標準語言。
雖然authorware提供了較為簡單的方法的實現與數據庫的連接并處理其中的數據,但是,在操作之前,必須了解以下內容:
q sql結構化查詢語言的語法與邏輯。
所連接的數據庫的結構。不同的數據庫以不同的方式組織數據,數據的組織方法可能會影響使用數據庫。
新聞熱點
疑難解答