軟件需求分析英文課件:Chap 6 - Database Design_第1頁(yè)
軟件需求分析英文課件:Chap 6 - Database Design_第2頁(yè)
軟件需求分析英文課件:Chap 6 - Database Design_第3頁(yè)
軟件需求分析英文課件:Chap 6 - Database Design_第4頁(yè)
軟件需求分析英文課件:Chap 6 - Database Design_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論