遍历表达式含义SQL代码anAirline.Emploee给定的一条航线,找出相应的员工。SELECT employeeID FROM Employee WHERE arilineID = :anAirline;anAirline.Employee.name给定的一条航线,找出相应的员工的名字。SELECT name FROM Employee WHERE airlineID = :anAirline;anAirline.Flight
[getMonth(date)==aMonth].pilot找出在某个给定的月份里为一条航行飞行的机师。SELECT pilotID FROM Flight WHERE airlineID = :anAirline AND GetMonth(date) = :aMonth;anAirline.Flight
[getMonth(date)==aMonth].pilot[flightRating==aFlightRating]找出在某个给定的月份里为一条航线飞行的在一个给定的飞行等级里的机师。SELECT P.pilotID FROM Flight F, Pilot P WHERE F.airlineID = :anAirline AND getMonth(F.date) = :aMonth AND F.pilotID = P.pilotID AND P.flightRating = :aFlightRating;aFlight.copilot:Employee.name为一次飞行找出副机师的名字。SELECT E.name FROM Flight F, Pilot P, Employee E WHERE F.flightID = :aFlight AND F.copilotID = P.pilotID AND P.pilotID = E.employeeID;图14 对象模型遍历和SQL代码的例子。 QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 4. RDBMS的OO扩展
Michael Blana是纽约Schenectady的通用电气研发部的毕业生(译者按:这是作者幽默的说法,意思是他已经跳槽了)。在过去的五年里,他已经成为面向对象技术、建模、数据库设计和逆向工程领域的独立的产业顾问。Blaha博士是多篇论文、五个专利和两本书的作者。可以通过www.omtassociates.com或blaha@acm.org和他联系。
William Premerlani从1975年开始就在通用电气研发部供职。他的主要研究爱好在软件工程、元建模(metamodeling)、数据库技术和复杂工程应用等领域。Premerlani博士是许多论文、二十五个专利和两本书的作者。通过premerlani@acm.org和他联系。
参考资料
[i]Michael Blaha and William Premerlani. Object-Oriented Design of Database applications. Rose Architect 1,2 (Winter, 1999).
[ii] PPS Chen. The Entity-Relationship model - toward a unified view of data. ACM Transactions on Database Systems1, 1 (March 1976).
[iii] Michael Blaha and William Premerlani. Object-Oriented Modeling and Design for Database Applications, Prentice Hall, Englewood Cliffs, New Jersey, 1998.
[iv] CJ Date. Don't mix pointers and relations! Presentation at Third Annual Object/Relational Summit sponsored by Miller Freeman, Washington D.C., September 16-19, 1998.