




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1Chapter 6 Database Designw The Relational Data Model and Object Modelw Persistence Frameworksw Database Design2The Relational Data Model and Object Model36.1 The Relational Data Model and Object Modelw The Relational Data Modelw The Object Model4The Relational Data Model ORDERLINE ITEMPRODUCTOrder_
2、IdLineItem_IdDescriptionPriceQuantityProduct_IdOrder_IdProduct_IdNamePricelineItemorderproductslineItemsRelationColumnsEntityw Relational model is composed of Entities An entity may be a physical table or a logical projection of several tables also known as a view.Relations5The Object Modelw The Obj
3、ect Model is composed of Classes (attributes)AssociationsLineItem- quantity : Integer- number : Integer1.*+lineItemsOrder- number : Integer+orderProduct- number : Integer- description : String- unitPrice : Double1Software Product- version : DoubleHardware Product- assembly : String6w RDBMS and Objec
4、t Orientation are not entirely compatible RDBMS Focus is on data Better suited for ad-hoc relationships and reporting application Expose data (column values) Object Oriented system Focus is on behavior Better suited to handle state-specific behavior where data is secondary Hide data (encapsulation)R
5、elational Databases and Object Orientation7The Persistence Frameworks 86.2 Persistence Frameworks w Persistence Framework w Hibernate9Persistence Frameworksw The challenge: Changes should not break the modelw The solution: An object-relational framework that Encapsulates the physical data store Prov
6、ides object translation servicesw The importance of the framework 30% of development time is spent in accessing an RDBMS Maintenance can be 60% of total costBusiness Object ModelRelational DatabaseCompact interfacesObject-relational translationEncapsulates data store10Hibernate w Object / Relational
7、 mapping (ORM) and persistence / query framework i.e. It does even more stuff for you!w Some features of Hibernate HibernateDaoSupport superclass, easy HibernateTemplate access Database independence - sits between the database and your java code, easy database switch without changing any code Object
8、 / Relational Mapping (ORM) - Allows a developer to treat a database like a collection of Java objects Object oriented query language (HQL) - *Portable* query language, supports polymorphic queries etc. You can also still issue native SQL, and also queries by “Criteria” (specified using “parse tree”
9、 of Java objects) Hibernate Mapping - Uses HBM XML files to map value objects (POJOs) to database tables Transparent persistence - Allows easy saves/delete/retrieve for simple value objects Very high performance “in general” due to intelligent (2-level) caching, although in a few cases hand-written
10、SQL might beat it11Hibernatew Hibernate basically sits between the DB and your codew Can map persistent objects to tables12Database Design136.3 Database Designw Purposew Overvieww Steps Map persistent design classes to tables Modeling Associations in the Data Model Modeling Aggregation in the Data M
11、odel Modeling Inheritance in the Data Model Distribute class behavior to the database14Purpose qTo ensure that persistent data is stored consistently and efficiently. qTo define behavior that must be implemented in the database. 15Database Design OverviewSupplementarySpecificationsDatabaseDesignUse-
12、Case RealizationDesignGuidelinesData Model16Mapping Persistent Classes to Tablesw In a relational databaseEvery row is regarded as an objectA column in a table is equivalent to a persistent attribute of a classStudent- name : String- address : String- studentID : LongNameStudent_IDThomas Stuart12345
13、6Object InstanceAttributes from object type17Modeling Associations in the Data Model w Associations between two persistent objects are realized as foreign keys to the associated objects.A foreign key is a column in one table which contains the primary key value of associated objectNumberCourse_ID678
14、456789NameDescriptionNumberMath 101Algebra456789Course Offering tableCourse tableCourse- name- description- numberCourseOffering- number : String 0.*0.*1Primary KeyForeign Key18Modeling Aggregation in the Data Modelw Aggregation is also modeled using foreign key relationshipsUsing composition implem
15、ents a cascading delete constraintStudent.- studentID : intSchedule- semester : Semester0.*10.*1Student_IDSemester123456Spring 2001Schedule tableStudent_ID123456Foreign KeyPrimary KeyStudent table19Modeling Inheritance in the Data Modelw A data model does not support modeling inheritance in a direct
16、 wayw Two optionsUse separate tables (normalized data)Duplicate all inherited associations and attributes (de-normalized data)20Modeling Inheritance in the Data Model - Example21Modeling Inheritance in the Data Model - Example22Modeling Inheritance in the Data Model - Example23Map Class Behavior to
17、Stored Proceduresw Determine if any operations can be implemented as a stored procedurew Candidate operationsDeal with persistent data Any operations where a query is involved in a computationNeed to access the database to validate data24What Are Stored Procedures?w A stored procedure is executable
18、code which runs under the RDBMSw Two types of stored proceduresProcedures: Executed explicitly by an applicationTriggers: Invoked implicitly when some database event occurs25Example: Map Class Behavior to Stored ProceduresStudent.+ getTuition()+ addSchedule()+ getSchedule()+ deleteSchedule()+ hasPrerequisites()# passed() + getNextAvailID()+ getStudentID()+ getName()+ getAd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)分析題庫及答案
- 2025中介服務(wù)合同
- 智能制造生產(chǎn)線設(shè)備采購合同
- 貴州國企招聘2025貴陽供銷集團有限公司所屬企業(yè)第一批招聘21人筆試參考題庫附帶答案詳解
- 浙江國企招聘2025年紹興市新昌縣國有企業(yè)公開招聘工作人員66人筆試參考題庫附帶答案詳解
- 青少年班試題及答案
- 2025遼寧撫順市龍晟保安服務(wù)有限責任公司招聘20人筆試參考題庫附帶答案詳解
- 2025福建南平綠發(fā)集團有限公司招聘28人筆試參考題庫附帶答案詳解
- 2025春季福建省港口集團有限責任公司校園招聘219人筆試參考題庫附帶答案詳解
- 無人機物流引領(lǐng)低空經(jīng)濟新趨勢
- 2025專利代理師筆試題庫完美版帶答案分析
- 2025企業(yè)主要負責人安全培訓考試試題及答案典型題
- 機械樣機擺放協(xié)議書
- 2025-2030中國開關(guān)插座行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025年嘉興市九年級中考語文一模試卷附答案解析
- 2025年安徽數(shù)學中考第2題:科學計數(shù)法【含答案】
- 中國移動通信集團新疆有限公司昌吉州分公司招聘筆試題庫2025
- 2024年榆林市社區(qū)專職工作人員招聘考試真題
- 人教部編版三年級語文下冊 課課練-第21課 我不能失信(含答案)
- 2025廊坊師范學院輔導員考試題庫
- 2025上半年黑龍江大慶市肇源縣人才引進110人重點基礎(chǔ)提升(共500題)附帶答案詳解
評論
0/150
提交評論