资料库系统理论与实务.ppt
《资料库系统理论与实务.ppt》由会员分享,可在线阅读,更多相关《资料库系统理论与实务.ppt(136页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章第三章 關聯式模型關聯式模型資料庫系統理論與實務邏輯思維系列邏輯思維系列資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型本章在架構中的位置2資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型本章內容 3-13-1關聯式資料模型的發展關聯式資料模型的發展關聯式資料模型的發展關聯式資料模型的發展3-2關聯式資料庫簡介關聯式資料庫簡介3-3關聯式模型的基本介紹關聯式模型的基本介紹3-4關聯式模型的完整性限制關聯式模型的完整性限制3-5關聯式模型的轉換與設計關聯式模型的轉換與設計3-6不當設計所引發的
2、異動操作異常問題不當設計所引發的異動操作異常問題3-7鍵值屬性的介紹鍵值屬性的介紹3-8功能相依性功能相依性3-9正規化正規化3-10實體關聯圖的實例探討與設計實體關聯圖的實例探討與設計3-11案例資料之參考案例資料之參考3資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型3-1關聯式資料模型的發展1970年代由IBM公司的研究人員Codd博士首先發展關聯式資料模型,並首度發表“ARelationalModelofDataforLargeSharedDataBanks”之論文Codd博士並於1985年對外發佈,關聯式資料庫管理系統的十二項規則建議,說明如下:4資料庫系統理論
3、與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則1:資訊規則TheInformationRule在資料庫內的所有資訊都必須以資料表(Table)的形式存在,並透過資料表的常式(Routines)或應用軟體來存取資訊5資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型(a)訂單基本資料(b)訂單明細資料圖3-1錯誤操作所造成的資料不一致性對應不到,而產生錯誤6資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型常式(Routines)或應用軟體(Application)資料表(Tables)一致性的控制一致性的控制資料(c)透過常式或應用軟體的存
4、取圖3-1錯誤操作所造成的資料不一致性7資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則2:必要的存取規則GuaranteedAccessRule關聯式資料庫内的任何資料項目,都要透過資料表名稱(TableName)、主要鍵值(PrimaryKeyValue)與行名稱(ColumnName)來進行存取的動作,不可直接將資料表的橫向記錄(由數個欄位所組成)當成一長字串,來取得其中的某些字串,例如從第20個字取至第40個字元。透過系統目錄(SystemCatalog)的描述和對應,讓應用程式的開發人員能針對資料表名稱、主要鍵值與行名稱,不致於在資料結構改變之後,造成所有相
5、關程式都必須要異動的麻煩8資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則3:具有空值的處理能力SystematicTreatmentofNullValues空值(NullValue)通常發生於某屬性的屬性值不適用(NotApplicable)或未知(Unknown)情況下所使用空值(NullValue)不同於一般的空字串(EmptyCharacterString)、空白字元、零或任何數值9資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則4:關聯性模型的動態線上目錄DynamicOn-LineCatalogBasedonTheRelation
6、alModel線上目錄(On-LineCatalog)亦就是資料庫描述(DatabaseDescription)或稱資料字典(DataDictionary),所儲存的是所有資料庫中的物件定義或描述資料,用以每一位資料庫系統使用者登入此系統之後皆能以相同的資料定義或描述來進行對資料的不同操作10資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則5:不同的通用性資料語言規則ComprehensiveDataSub-LanguageRule在關聯性模型系統中,應該提供不同的語言,包括不同的語言資料定義(DataDefinition)視界定義(ViewDefinition)資料
7、操作(DataManipulation)完整性的限制(IntegrityConstraints)授權(Authorization)11資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則6:視界的更新規則ViewUpdatingRule由於視界(View)的資料是來自於資料表(Table),視界本身並不儲存資料,且有可能一個視界是合併了數個資料表的資料。所以,若是要透過視界來異動底層的資料,必須要針對所有的視界(View)訂定更改的規範,以保護資料異動前、後的一致性12資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則7:高階的新增、更新及刪除Hi
8、gh-LevelInsert,UpdateandDelete除了對資料查詢可以一次查詢多筆資料(set-at-a-time)之外,對於新增、更新及刪除的操作功能皆有此特性,而非一次一筆資料的處理(record-at-a-time)13資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則8:實體資料的獨立性PhysicalDataIndependence針對使用者所使用的應用程式而言,如果資料所儲存的實體結構改變,不應該影響到使用者的應用程式14資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則9:邏輯資料的獨立性LogicalDataIndepen
9、dence針對使用者所使用的應用程式而言,如果資料的邏輯層改變,不應該影響到使用者的應用程式例如對關聯式資料庫內的資料表(Table)新增一行(Column),並不會直接影響到與此新增的行(Column)無關的應用程式之執行15資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則10:完整性的獨立IntegrityIndependence在關聯式資料庫管理系統中,必須能定訂完整性的限制,並且儲存於線上目錄(On-LineCatalog)內,與應用程式完全獨立,並且在不同的應用程式使用此關聯式管理系統時,能同時從此目錄(Catalog)中取得此完整性限制16資料庫系統理論與
10、實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則11:分散式的獨立性DistributionIndependence關聯式資料庫管理系統可以是集中於同一部伺服器,或是分散於不同的伺服器,不論資料實體位於何處,都不會影響使用者的高階程式語言的邏輯17資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型規則12:沒有破壞性的規則Non-SubversionRule縱使關聯式資料庫管理系統允許低階程式語言的存取,但也不能因此而破壞資料完整性(Integrity)的限制18資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型本章內容3-1關聯式資料模型的發
11、展 3-23-2關聯式資料庫簡介關聯式資料庫簡介關聯式資料庫簡介關聯式資料庫簡介3-3關聯式模型的基本介紹關聯式模型的基本介紹3-4關聯式模型的完整性限制關聯式模型的完整性限制3-5關聯式模型的轉換與設計關聯式模型的轉換與設計3-6不當設計所引發的異動操作異常問題不當設計所引發的異動操作異常問題3-7鍵值屬性的介紹鍵值屬性的介紹3-8功能相依性功能相依性3-9正規化正規化3-10實體關聯圖的實例探討與設計實體關聯圖的實例探討與設計3-11案例資料之參考案例資料之參考19資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型3-2關聯式資料庫簡介使用關聯式模型為基礎觀念所建立的資
12、料庫管理系統(DatabaseManagementSystem,簡稱為DBMS),稱之為關聯式資料庫管理系統(RelationalDatabaseManagementSystem,簡稱為RDBMS)現在廣為市場使用的資料庫管理系統,大部份皆為關聯式資料庫管理系統;可以區分為商業軟體開放原始碼(OpenSource)20資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型商業軟體(1/6)-OracleOracle是由甲骨文(Oracle)公司所開發的一套大型資料庫管理系統使用的結構化查詢語言是相容於ANSI-SQL99所發展出來的PL/SQL,此套軟體在市場佔有率相當之高,並
13、開放其軟體於網站供個人免費下載試用目前最新版本為Oracle10g,並使用分散式計算之技術GridComputing,提升其運算的能力詳細資料可參考網站http:/21資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型商業軟體(2/6)-SybaseASESybaseASE是由賽貝斯(Sybase)公司所發展的一套大型的資料庫管理系統,其原名為SybaseSQLServer,後改名為SybaseAdaptiveServerEnterprise(簡稱為ASE)目前最新版本為為AdaptiveServerEnterprisev15.0詳細資料可參考網站http:/22資料庫系統
14、理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型商業軟體(3/6)-DB2UDBDB2UniversalDatabase(簡稱DB2UDB)是由IBM公司所開發的一套大型資料庫管理系統,也是IBM在資料庫市場上的一套主要產品目前最新版本為DB2UniversalDatabasev8.2詳細資料可參考網站23資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型商業軟體(4/6)-InformixInformix原由Informix公司所開發,後被IBM公司所併購,成為IBM的第二套主要資料庫管理系統詳細資料可參考網站http:/24資料庫系統理論與實務陳祥輝著200
15、7版權所有,翻印必究第三章關聯式模型商業軟體(5/6)MSSQLServer此套資料庫管理系統是微軟公司(Microsoft)所發展的商用軟體,其軟體的前身是源自於Sybase的資料庫管理系統使用的結構化查詢語言也是相容於ANSI-SQL99的標準發展出的Transact-SQL(或簡稱T-SQL)目前最新的版本為MSSQLServer2005,主要標榜的特色在於商業智慧(BusinessIntelligence,簡稱BI)詳細資料可參考網站25資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型商業軟體(6/6)-MSAccessMSAccessMSAccess資料庫是微軟
16、公司最早開發出來的小型資料庫管理系統此套軟體主要是適合於個人使用,目的在於推動辦公室自動化的過程爭,讓一般使用者能擁有自己的一套小型資料庫系統使用,所以微軟公司將此產品合併在MicrosoftOffice系列中,所以此套資料庫軟體較適合於辦公室個人化的資料管理,而較不適合於多人多工處理的環境詳細資料可參考網站26資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型開放原始碼(1/4)-MySQLMySQLMySQL資料庫是MySQLAB公司所開發,主要可分為兩種版本一種為商業用版本,必須付費購買的MySQLEnterpriseEdition一種為開放原始碼的MySQLComm
17、unityEdition。MySQL是一種服務(service)型的資料庫管理系統啟動服務後,預設值會於TCP/IPPort3306傾聽參考網址:提供完整的客戶端連線和管理工具軟體,表列如表3-127資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型表3-1MySQL的相關軟體軟體類型名稱軟體說明後端資料庫伺服器MySQLServer此為MySQL伺服端的主要元件前端工具軟體MySQLMigrationToolkit此軟體提供將傳統的資料庫系統內的資料做轉移的功能MySQLWorkbench此軟體為一套前端資料庫設計的工具軟體MySQLAdministrator此軟體主要安
18、裝於前端電腦中,提供遠端連線管理資料庫伺服器的工具MySQLQueryBrowser此軟體提供圖形化界面,供使用者下查詢(Query)命令使用驅動程式(Drivers)與連接器(Connectors)MySQLConnector/J提供Java連線MySQLMySQLConnector/Net提供.NET連線MySQLConnector/ODBC提供MySQL的ODBC驅動程式MySQLConnector/MXJ提供Java在嵌入式MySQL伺服器連線使用MySQLConnector/PHP提供Windows平台(不同Unix平台下皆不需要)下之PHP程式連線MySQL28資料庫系統理論與實務
19、陳祥輝著2007版權所有,翻印必究第三章關聯式模型表3-1軟體類型名稱軟體說明APIsDBI-forconnectingtoMySQLfromPerlPerl的APIRuby-forconnectingtoMySQLfromRubyRuby的APIPython-forconnectingtoMySQLfromPythonPython的API.NET-forconnectingtoMySQLfrom.NET.NET的APIMySQL+-forconnectingtoMySQLfromC+C+的APICh-forconnectingtoMySQLfromCh(C/C+interpreter)Ch(
20、C/C+interpreter)的API29資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型開放原始碼(2/4)-MaxDBMaxDBMaxDB資料庫源自於SAPDB()技術團隊自2003年第四季與MySQLAB公司簽署合約後,從7.5版之後,正式重新命名為MaxDB,並歸MySQLAB公司繼續開發和維護,網址可參考http:/提供的所有相關軟體,如表3-230資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型表3-2MaxSQL的相關軟體軟體類型名稱軟體說明後端資料庫伺服器MaxDBServer此為MaxDB伺服端的主要元件前端工具軟體DBMGUI此
21、軟體主要安裝於前端電腦中,提供遠端連線管理資料庫伺服器的工具SQLStudio此軟體提供圖形化界面,供使用者下查詢(Query)命令使用驅動程式(Drivers)與連接器(Connectors)ODBCDriver提供MaxDB的ODBC驅動程式JDBCDriver提供MaxDB的JDBC驅動程式APIsSQLDBCPerlPerl的APIPHPPHP的APIPythonPython的API31資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型開放原始碼(3/4)-PostgreSQLPostgreSQL提供多平臺的版本,包括Linux、UNIX(AIX,BSD,HP-UX
22、,SGIIRIX,MacOSX,Solaris,Tru64)和Windows完全符合交易(Transaction)的四個特性ACID(Atomicity、ConsistencyPreservation、Isolation和Durability),且完全支援外來鍵(ForeignKey)、合倂(Join)、視界(Views)、預存程序(StoredProcedures)和觸發器(Trigger),並包括美國標準局ANSI-SQL92和ANSI-SQL99的資料型態提供多種的原生程式介面,包括C/C+、Java、Perl、Python、Ruby、Tcl、ODBC參考網站資料http:/宣稱為企業級
23、的資料庫管理系統,並支援多版本並行控制技術(Multi-VersionConcurrencyControl,簡稱MVCC)、即時回復能力(Recovery)、資料表空間(Tablespace)、非同步複寫(AsynchronousReplication)、巢狀式交(NestedTransactions)、線上即時備份、查詢計劃器/最佳處理處(QueryPlanner/Optimizer)以及支援容錯(FaultTolerance)能力的Write-AheadLogging啟動後,預設值會於TCP/IPPort5432傾聽PostgreSQL的限制如表3-3所示,以及表3-4所列的相關軟體。32
24、資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型表3-3PostgreSQL的各種項目之限制值項目項目限制值限制值資料庫的大小無限資料表的大小32 Tera Bytes列的大小1.6 Tera Bytes欄位的大小1 Giga Bytes每個資料表的最多列數無限每個資料表的最大行數依據不同Column的資料型態,可從250至1600不等每個資料表的索引數無限33資料庫系統理論與實務陳祥輝著2007版權所有,翻印必究第三章關聯式模型表3-4PostgreSQL的相關軟體軟體類型名稱軟體說明後端資料庫伺服器PostgreSQLServer前端工具軟體pgAdminIII跨平台
25、的前端資料庫管理程式PhpPgAdminWeb-based的資料庫管理程式驅動程式(Drivers)與連接器(Connectors)DBDr:PgPerlDriverJDBCJDBCDriverlibpqxxC+APINpgsql.NetDataProviderODBCODBCDriverPgOleDbOLE-DBDriverAPIspgtclngNextgenerationinterfaceforTCLPgtclTclbindinglibraryPginATclinterfacetoPostgreSQLwritteninTcPyGreSQLPythoninterfaceforPostgreS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料库 系统 理论 实务
限制150内