Скачать презентацию i 10 Emp works In 1 1 Скачать презентацию i 10 Emp works In 1 1

5a8562d3d389356e2f60b522b46ebcac.ppt

  • Количество слайдов: 64

i 10 Emp works. In [1. . 1] i 30 Emp i 11 name i 10 Emp works. In [1. . 1] i 30 Emp i 11 name ”Doe” Emp [0. . *] name: string age: integer sal: integer [0. . 1] i 20 Emp i 21 name ”Poe” i 31 name ”Lee” i 12 age 29 i 22 age 41 i 32 age 20 i 13 sal 1900 i 23 sal 2500 i 14 works. In i 50 i 24 works. In i 60 i 33 works. In i 60 i 50 Dept employs [1. . *] Dept [0. . *] dname: string location: string [1. . *] i 60 Dept i 51 dname ”Trade” i 61 dname ”Ads” i 52 location ”Paris” i 62 location ”Berlin” i 53 location „Rome” i 63 employs i 54 employs i 10 i 64 employs i 30 i 20

Emp [0. . *] name sal address[0. . 1] city street house# works. In Emp [0. . *] name sal address[0. . 1] city street house# works. In employs [1. . *] Dept [0. . *] dname location[1. . *] S – Objects < i 1, Emp, {< i 2, name, ”Doe”>, < i 3, sal, 2500>, < i 4, works. In, i 17> } >, < i 5, Emp, {< i 6, name, ”Poe”>, < i 7, sal, 2000>, < i 8, works. In, i 22> } >, < i 9, Emp, {< i 10, name, ”Lee”>, < i 11, sal, 900>, < i 12, address, { < i 13, city, “Rome” >, < i 14, street, “Boogie” >, < i 15, house#, 13 > } >, < i 16, works. In, i 22> } >, < i 17, Dept, {< i 18, dname, ”Trade”>, < i 19, location, “Paris”>, < i 20, location, “London”> < i 21, employs, i 1> } >, < i 22, Dept, {< i 23, dname, ”Ads”>, < i 24, location, “Rome”>, < i 25, employs, i 5>, < i 26, employs, i 9> } > R - Start identifiers i 1, i 5, i 9, i 17, i 22

i 1 Emp i 5 Emp i 9 Emp i 2 name ”Doe” i i 1 Emp i 5 Emp i 9 Emp i 2 name ”Doe” i 6 name ”Poe” i 10 name ”Lee” i 3 sal 2500 i 7 sal 2000 i 11 sal 900 i 4 works. In i 8 works. In i 12 address i 13 city ”Rome” i 14 street ”Boogie” i 15 house# 13 i 16 works. In i 17 Dept i 22 Dept i 18 dname ”Trade” i 23 dname ”Ads” i 19 location ”Paris” i 24 location ”Rome” i 20 location ”Rome” i 25 employs i 21 employs i 26 employs

Employee Name Doe Salary 1500 works. In Employee Name Poe Salary 2500 works. In Employee Name Doe Salary 1500 works. In Employee Name Poe Salary 2500 works. In Boss C# 102030 Employee Name Lee Salary 2000 works. In employs CName Syntex employs Company

Relational schema: Emp( name, sal, works. In ) Relation: Emp name Doe Poe Lee Relational schema: Emp( name, sal, works. In ) Relation: Emp name Doe Poe Lee sal 2500 2000 works. In Production Sales Model AS 0: S - Objects: < i 1 , Emp, { < i 2, name, ” Doe” >, < i 3, sal, 2500 >, < i 4, works. In, ” Production” > } >, < i 5 , Emp, { < i 6, name, ” Poe” >, < i 7, sal, 2000 >, < i 8, works. In, ” Sales” > } >, < i 9 , Emp, { < i 10, name, ” Lee” >, < i 11, sal, 2000 >, < i 12, works. In, ” Sales” > } > R - Start identifiers i 1 , i 5 , i 9

<Dept> <dname> Trade </dname > <location> Paris </location > <location> London </location > <employs> Trade Paris London Doe Ads Rome Poe Lee S – Objects < i 17, Dept, {< i 18, dname, ”Trade”>, < i 19, location, “Paris”>, < i 20, location, “London”> < i 21, employs, ”Doe”> } >, < i 22, Dept, {< i 23, dname, ”Ads”>, < i 24, location, “Rome”>, < i 25, employs, ”Poe”>, < i 26, employs, ”Lee”> } > R - Start identifiers i 17, i 22

<emp version=” 1. 2” date=” 2006. 01. 10”> <name> Doe </name>. . . </emp> Doe . . . <@version> 1. 2 <@date> 2006. 01. 10 Doe . . .

<emp> John Doe, born 1973 <address> Warsaw, Sienna 5 </address> His salary is 2500 John Doe, born 1973

Warsaw, Sienna 5
His salary is 2500 <&info> John Doe, born 1973
Sienna 5, Warsaw
<&info> His salary is 2500

S – Objects < i 1, Person, {< i 2, name, ”Doe”>, . . S – Objects < i 1, Person, {< i 2, name, ”Doe”>, . . . } >, < i 5, Emp, {< i 6, name, ”Poe”>, < i 7, sal, 2000>, < i 8, works. In, i 22>, . . . } >, < i 9, Emp, {< i 10, name, ”Lee”>, < i 11, sal, 900>, < i 16, works. In, i 33>, . . . } > C - Classes < i 40, Person. Class, {< i 41, age, (. . . the code of the method age)>, . . . other invariants of the Person. Class. . . } >, < i 50, Emp. Class, { < i 51, change. Sal, (. . . the code of the method change. Sal. . . )>, < i 52, net. Sal, (. . . the code of the method net. Sal. . . )>, . . . other invariants of the Emp. Class. . . } > R - Start identifiers i 1, i 5, i 9 CC - Inheritance among classes < i 50, i 40> SC - Membership of objects within classes < i 1, i 40>, < i 5, i 50>, < i 9, i 50>

i 40 Person. Class i 41 age (. . . code. . . ). i 40 Person. Class i 41 age (. . . code. . . ). . . CC i 50 Emp. Class i 51 change. Sal (. . . code. . . ) i 52 net. Sal (. . . code. . . ) SC . . . SC SC i 1 Person i 5 Emp i 9 Emp i 6 name ”Poe” i 10 name ”Lee” i 7 sal 2000 i 11 sal 900 i 8 works. In i 16 works. In . . . i 2 name ”Doe”. . . i 22 i 33

Person Employee Student Club-member Patien t Tax-payer Dog-owner Person Employee Student Club-member Patien t Tax-payer Dog-owner

S – Objects (and roles) <i 1, Person, { <i 2, name, ”Doe” >, S – Objects (and roles) , } >, , } >, , } >, , } >, , } >, , } >. . . C - Classes , . . . other properties of Person. Class. . . }>, , , . . . other properties of Emp. Class. . . }>, , . . . other properties of Student. Class. . . }>, . . . R – Root identifiers i 1, i 4, i 7, i 13, i 16, i 19, . . . CC - Inheritance between classes Empty. SC - Membership of objects and roles in classes < i 1, i 40>, < i 4, i 40>, < i 7, i 40>, < i 13, i 50>, < i 16, i 50>, < i 19, i 60> , . . . SS – Inheritance between roles and objects < i 13, i 4>, < i 16, i 7>, < i 19, i 7> , . . .

i 40 Person. Class i 41 age (. . . code. . . ). i 40 Person. Class i 41 age (. . . code. . . ). . . i 50 Emp. Class i 60 Student. Class i 51 change. Sal (. . . code. . . ) i 61 avg. Score (. . . code. . . ) i 52 net. Sal (. . . code. . . ) . . . i 1 Person i 4 Person i 7 Person i 2 name ”Doe” i 5 name ”Poe” i 8 name ”Lee” i 3 born 1948 i 6 born 1975 i 9 born 1951 i 13 Emp i 16 Emp i 14 sal 2500 i 17 sal 1500 i 20 student. No 223344 i 15 works. In i 18 works. In i 21 faculty ”Physics” i 127 i 19 i 128 Student

the order of searching for variable X Top of the stack Variables declared within the order of searching for variable X Top of the stack Variables declared within block b Variables and actual parameters of procedure p 2 Variables and actual parameters of procedure p 1. . . . Global variables Bottom of the stack

Client Server Persistent (shared) objects Volatile (non-shared) objects i 127 X i 128 Y Client Server Persistent (shared) objects Volatile (non-shared) objects i 127 X i 128 Y i 1 Emp i 17 Dept i 5 Emp i 9 Emp i 22 Dept

Top Temporary processing section - properties of an executed procedure Temporary processing section - Top Temporary processing section - properties of an executed procedure Temporary processing section - properties of a processed object Temporary processing section Emp(i 1) X(i 127) Y(i 128) N(5) I("Maria"). . name(i 10) sal(i 11) address(i 12) works. In(i 16). . Binders to volatile properties of the current client session Database section Global sections Emp(i 1) Emp(i 5) Emp(i 9). . . Dept(i 17) Dept(i 22). . . Binders to global library functions Binders to properties of the computer environment

start of the search Emp(i 1) X(i 127) Y(i 128) N(5) I( start of the search Emp(i 1) X(i 127) Y(i 128) N(5) I("Maria"). . name(i 10) sal(i 11) address(i 12) works. In(i 16). . Emp(i 1) Emp(i 5) Emp(i 9). . . Dept(i 17) Dept(i 22). . . end of the search

bag{ struct{i 1, i 56}, struct{i 6, i 72}, sequence{ i 1, i 6, bag{ struct{i 1, i 56}, struct{i 6, i 72}, sequence{ i 1, i 6, i 11} struct{i 11, i 72}} i 1 i 6 i 11 i 56 i 72 bag{ struct{ n(„Doe"), s(i 9) }, struct{ n(„Poe"), s(i 14)}, struct{ n(”Lee" ), s(i 18)}} n s ”Doe" ”Poe" ”Lee" i 9 i 14 i 18

condition Emp where binding (name = ”Poe” and sal > 1000) binding name(i 10) condition Emp where binding (name = ”Poe” and sal > 1000) binding name(i 10) sal(i 11) address(i 12) works. In(i 16) Emp(i 1) Emp(i 5) Emp(i 9) Dept(i 17) Dept(i 22) Initial ENVS state. bind( Emp ) = {i 1, i 5, i 9} Interior of the third object Emp(i 1) Emp(i 5) Emp(i 9) Dept(i 17) Dept(i 22) ENVS during evaluation of the condition for the third object Emp. bind( name ) = i 10; bind( sal ) = i 11

i 9 Emp i 10 name ”Lee” i 11 sal 900 i 12 address i 9 Emp i 10 name ”Lee” i 11 sal 900 i 12 address i 13 city ”Rome” i 14 street ”Boogie” i 15 house# 13 i 16 works. In nested( i 9 ) = { name( i 10 ), sal( i 11 ), address( i 12 ), works. In( i 16 ) }

query : : = literal The set L query : : = name The query : : = literal The set L query : : = name The set N query : : = unary. Alg. Operator query Unary algebraic operators unary. Alg. Operator : : = count | sum | max | - | sqrt | not |. . . query : : = query binary. Alg. Operator query Binary algebraic operators binary. Alg. Operator : : = =|<| >| +| -| *| /| and| or| intersect|. . . query : : = query Non. Alg. Operator query Non-algebraic operator Non. Alg. Operator : : = where |. | join | ∀ | ∃ | order by query : : = ∀query | ∃query Alternative (traditional) syntax for quantifiers query : : = query as name Name definition query : : = query group as name Grouping and name definition query : : = if query then query Conditional query : : = if query then query else query Another conditional query. Seq : : = query | query, query. Sequence of queries query : : = struct( query. Seq ) | (query. Seq) Structure constructor query : : = bag( ) | bag( query. Seq ) Bag constructor query : : = sequence( ) | sequence( query. Seq ) Sequence constructor

Expression (2 *((5 + 3 ) / 4)) - 1 Reverse polish notation 253+4/*1 Expression (2 *((5 + 3 ) / 4)) - 1 Reverse polish notation 253+4/*1 - 3 5 empty 2 5 2 2 4 + 8 8 2 2 / 2 2 1 * 4 4 - 3

top the only visible stack section 15 i 17 struct{ x(i 61), y(i 93) top the only visible stack section 15 i 17 struct{ x(i 61), y(i 93) } bag{ bottom struct{ n(„Doe"), s(i 9)}, struct{ n(„Poe"), s(i 14)}, struct{ n(”Lee" ), s(i 18)}} invisible stack sections

Non-algebraic operators Environment stack ENVS Query result stack QRES Query evaluation references to objects Non-algebraic operators Environment stack ENVS Query result stack QRES Query evaluation references to objects Object store Volatile (non-shared) objects Persistent (shared) objects

Software development environment (editor, debugger, etc. ) Client Parser of queries and programs Syntactic Software development environment (editor, debugger, etc. ) Client Parser of queries and programs Syntactic tree of a query/program Strong type checker Optimization by rewriting Optimization by indices Interpreter of queries & programs (proc. eval) Static ENVS Static QRES Local metabase Volatile (non-shared) objects Network Server Metabase of persistent objects Administration module Register of indices Object manager Persistent (shared) objects Register of views Processing persistent abstractions (views, stored procedures, triggers)

result of query q previous state of QRES eval( q ) previous state of result of query q previous state of QRES eval( q ) previous state of QRES a consumer of the result previous state of QRES

Start Non-algebraic Left subquery Name where Right subquery Algebraic 2 Emp Left subquery Algebraic Start Non-algebraic Left subquery Name where Right subquery Algebraic 2 Emp Left subquery Algebraic 1 deref Name name = Right subquery String value ”Poe”

result( q 1 ) = bag{ e 1, e 2, e 3 } nested(e result( q 1 ) = bag{ e 1, e 2, e 3 } nested(e 1) Previous state of ENVS nested(e 2) Previous state of ENVS nested(e 3) Previous state of ENVS time result(q 2) result(q 1 θ q 2)

Result returned by query Emp Iteration over elements of the previous result Results returned Result returned by query Emp Iteration over elements of the previous result Results returned by query sal Results returned by query 1000 Dereference forced by > Results returned by query sal>1000 Final result of the query name(i 2) sal(i 3) works. In(i 4) i 1 Emp(i 1) Emp(i 5) Emp(i 9) Dept(i 17) Dept(i 22) i 3 2500 1000 true i 1 i 7 2000 1000 true i 5 i 11 900 1000 false name(i 6) sal(i 7) works. In(i 4) i 5 ENVS before evaluation i 9 Emp(i 1) Emp(i 5) Emp(i 9) Dept(i 17) Dept(i 22) name(i 10) sal(i 11) address(i 22) works. In(i 16) Emp(i 1) Emp(i 5) Emp(i 9) Dept(i 17) Dept(i 22) Emp where ( sal > 1000 )

Relational schema Address e# city street house# Emp e# name job sal works. In Relational schema Address e# city street house# Emp e# name job sal works. In Dept d# dname boss Location d# loc Object-oriented schema (class diagram) Emp [0. . *] e# name job sal Address [0. . 1] city street house# works. In manages[0. . 1] employs[1. . *] boss Dept [0. . *] d# dname loc[1. . *]

( Dept join avg((employs . Emp ) . sal ) ) e#(. . ) ( Dept join avg((employs . Emp ) . sal ) ) e#(. . ) name(. . ) job(. . ) sal(. . ) works. In(. . ) manages(. . ) Emp(. . ) d#(. . ), dname(. . ) loc(. . ). . . employs(. . ). . . boss(. . ) Emp(. . ), . . . Dept(. . ). . . d#(. . ), dname(. . ) loc(. . ). . . employs(. . ) employs(. . ). . . boss(. . ) Emp(. . ), . . . Dept(. . ). . . Emp(. . ), . . . Dept(. . ). . .

Search order Top of the ENVS stack Class C 3 Binders to internal properties Search order Top of the ENVS stack Class C 3 Binders to internal properties of the currently processed object O CC Binders to internal properties of the class C 1 that O is a member Class C 2 CC Class C 1 SC Object O Binders to internal properties of the class C 2 that is a superclass of C 1 Binders to internal properties of the class C 3 that is a superclass of C 2. . . . Binders with start identifiers of the object store Sections pushed on ENVS during processing of the object O by a non-algebraic operator

Top of the ENVS stack nested(i 5) - internals of the currently processed Poe’s Top of the ENVS stack nested(i 5) - internals of the currently processed Poe’s object nested (i 50) – internals of Emp. Class nested (i 40) – internals of Person. Class. . . other sections. . . Binders to database objects name(i 6) sal (i 7) works. In (i 8). . change. Sal(i 51) net. Sal(i 52). . . age(i 41). . . Person(i 1). . . Emp(i 5) Emp(i 9). . . Sections pushed by the dot operator

Operator where Calculation of parameters, binding the name My. Method and firing the method Operator where Calculation of parameters, binding the name My. Method and firing the method Processing of the My. Method body p 1(result(q 1)) p 2(result(q 2)) x 1(. . ) x 2(. . ) After completing My. Method nested(r 1) nested(i. MC) . . . . Global sections time Evaluation of q 0 result(q 0) Previous QRES state result(q 2) result(q 1) result(q 0) Previous QRES state Removing the results of q 1, q 2 result(q 0) Previous QRES state result(q) result(q 0) Previous QRES state

Person[0. . *] name birth. Year Address [0. . 1] city street house# age() Person[0. . *] name birth. Year Address [0. . 1] city street house# age() Emp[0. . *] e# job[1. . *] sal[0. . 1] change. Sal(new. Sal) net. Sal( ) works. In manages[0. . 1] employs[1. . *] boss Dept[0. . *] d# dname loc[1. . *] budget()

Binders to volatile objects/variables of the current user session Database section Person(i 1) Person(i Binders to volatile objects/variables of the current user session Database section Person(i 1) Person(i 4) Person(i 7) Emp(i 13) Emp(i 16) Student(i 19). . . Binders to global library functions Binders to variables and functions of the computer environment Global sections

Search order sal(i 17) works. In(i 18) change. Sal(i 51) net. Sal(i 52 ). Search order sal(i 17) works. In(i 18) change. Sal(i 51) net. Sal(i 52 ). . . name(i 8) born(i 9) Properties of the currently processed Emp role Properties of the Emp. Class Properties of the Person superrole of the Emp role Properties of the Person. Class age(i 41). . . Person(i 1) Person(i 4) Person(i 7) Emp(i 13) Emp(i 16) Student(i 19). . . Bottom of ENVS . . Database section

i. R 7 Class i. R 6 Class i. R 1 Class i. R i. R 7 Class i. R 6 Class i. R 1 Class i. R 23 Class i. R 45 Class i. R 1 i. R 2 i. R 4 R 2 R 1 i. R 3 i. R 5

nested(i. R 5) nested(i. R 45 C) Sections of the role R 5 nested(i. nested(i. R 5) nested(i. R 45 C) Sections of the role R 5 nested(i. R 3) nested(i. R 23 C ) nested(i. R 6 C ) Sections of the role R 3 nested(i. R 7 C ) nested(i. R 1 C ) nested(i. R 7 C ). . Sections of the role R 1

Person[0. . *] name birth. Year Address [0. . 1] city street house# age( Person[0. . *] name birth. Year Address [0. . 1] city street house# age( ) Emp[0. . 1] e# job[1. . *] sal[0. . 1] change. Sal(new. Sal) net. Sal( ) Student[0. . *] s# faculty[0. . 1] scholarship Exam[0. . *] subject score avg. Score( ) School[0. . *] name city studies. At teaches[0. . *] Dept[0. . *] works. In employs[1. . *] d# dname boss loc[1. . *] Manager[0. . 1] budget() manages

The world of analysis and design: teams of people having limitations of memory, perception, The world of analysis and design: teams of people having limitations of memory, perception, expressing information and communication. The world of the problem domain: complex, interdependent knowledge, business processes, aspects, problems and solutions. Software: strategic decisions, analysis, design, construction, testing, documentation, deployment, user training, operation, maintenance, modifications, etc. The world of computer technologies: hardware, software, networks, languages, methodologies, tools, facilities, standards, etc. The world of software users: psychological factors, ergonomy, limitations of memory, tendency to errors and abuse, ownership, intellectual properties, privacy, security, etc.

mapping . . Human perception of the problem domain Abstract conceptual model of the mapping . . Human perception of the problem domain Abstract conceptual model of the problem domain . . . . Programmer’s view of data structures and operations

seamless mapping . . . . Real objects or concepts in the problem domain seamless mapping . . . . Real objects or concepts in the problem domain Classes of abstract objects in the conceptual model of the problem domain . . . . Objects and their classes as data structures within an object-oriented database

Person 1. . * works. For Employee 0. . * Employer Employment Details Company Person 1. . * works. For Employee 0. . * Employer Employment Details Company

Person Name Buyer Seller Broker Deal Subject Date Price Person Name Buyer Seller Broker Deal Subject Date Price

Person Doe Person Poe Person Doe Buyer Seller Buyer Broker Person Kim Broker Deal Person Doe Person Poe Person Doe Buyer Seller Buyer Broker Person Kim Broker Deal Car 1998. 05. 15 20000 Person Noe Seller Deal House 1995. 08. 16 40000 Buyer Person Poe Seller Person Lee Deal Car 1998. 05. 15 20000 Buyer Person Noe Seller Person Lee

Person first. Name last. Name date. Of. Birth age() inheritance Student student# year. Of. Person first. Name last. Name date. Of. Birth age() inheritance Student student# year. Of. Study faculty insert. Score(. . . ) accept. Semester() Employee employee# job salary company# net. Salary() change. Salary(. . . ) object object

Person Patient Student Employee Tax-payer Student Club-member Dog-owner Person Patient Student Employee Tax-payer Student Club-member Dog-owner

Person. Class Name Birth. Year Age() morf stirehni yllacimanyd morf stirehni knil noitaicossa Employee. Person. Class Name Birth. Year Age() morf stirehni yllacimanyd morf stirehni knil noitaicossa Employee. Class Salary Job Net. Salary() Change. Salary(. . ) fo rebmem a si Classes Person Name Doe Birth. Yesr 1948 Objects with roles Person Name Brown Birth. Year 1975 Employee Salary 2500 Job analyst Student. Class Semester Student. No New. Score(. . . ) Avg. Score() Person Name Smith Birth. Year 1951 Employee Salary 1500 Job clerk Student Semester 7 Student. No 223344 is_a_customer_of works_in Company Name Bank Person Name Jones Birth. Year 1940 works_in studies_at School Name NYA Student Semester 4 Student. No 556677 studies_at School Name MLI

Employees Employee Surname Employments Children Employment Child. . . . Job . . . Employees Employee Surname Employments Children Employment Child. . . . Job . . .

Person[0. . *] l. Name f. Name[1. . *] Addres[1. . *] Expert[0. . Person[0. . *] l. Name f. Name[1. . *] Addres[1. . *] Expert[0. . *] EW[0. . *] Competence[1. . *] Work[0. . *] WE Payment[0. . *] WC Expertise[1. . *] Company[0. . *] CW[0. . *] c. Name c. Location[1. . *]

Company(C#, c. Name) c. Location(Place, C#) Work(W#, C#, E#) Expert(E#, P#) Expertise(e. Text, W#) Company(C#, c. Name) c. Location(Place, C#) Work(W#, C#, E#) Expert(E#, P#) Expertise(e. Text, W#) Payment(p. Amount, W#) Person(P#, l. Name) Competence(c. Descr, E#) Names(f. Name, P#) Addresses(Addres, P#)

Applications based on virtual repository Application 1 Application 2 Application 3 Client view 1 Applications based on virtual repository Application 1 Application 2 Application 3 Client view 1 Client view 2 Client view 3 Web Service application Client view 4 ODRA database server Integration view Communication Bus Contributory view 1 Existing sources Contributory view 2 O-R wrapper O-RDF wrapper Relational databases RDF resources XML importer/ exporter Contributory Contributor view 3 y view O-WS wrapper XML files …. wrapper Web Service applications …. application

Part [0. . *] name Detail [0. . *] cost mass Aggregate [0. . Part [0. . *] name Detail [0. . *] cost mass Aggregate [0. . *] assembly. Cost assembly. Mass Component [1. . *] amount leads. To

Company name has. Shares. In * is. Owned. By * Company name has. Shares. In * is. Owned. By *

Supplier. Class …. Default attribute Sname = ” ” Default attribute Status = -1 Supplier. Class …. Default attribute Sname = ” ” Default attribute Status = -1 Default attribute City = ”? ? ? ” …. . Supplier Sname Black Sno 1234 City Rome Supplier Sname Gray Sno 1256 Status 55

a) The natural scoping rule b) Binding conflict Local environment of m Class C a) The natural scoping rule b) Binding conflict Local environment of m Class C 2 …. method m …. Class C 1 …. Default attribute a = … …. Object O Class C 1 …. Default attribute a = … method m …. Object O … attribute a = … The rest of the environment

Binding salary name(”Brown”) address(. . ) job(. . ) works. In (. . ) Binding salary name(”Brown”) address(. . ) job(. . ) works. In (. . ) Section pushed by the third where operator for the Brown’s object name(. . ) address(. . ) salary(. . ) job(. . ) works. In (. . ) Section pushed by the second where operator for an Emp object . . Global stack sections

carburettor bolt 10 x 30 starter …… …. . engine …. . …… carburettor bolt 10 x 30 starter …… …. . engine …. . ……

myperson ancestors allcousins result myperson ancestors allcousins result

Emp(i 1) Temporary processing section X(i 127) Y(i 128) N(5) I( Emp(i 1) Temporary processing section X(i 127) Y(i 128) N(5) I("Maria") Temporary processing section properties of an executed procedure . . Conceptual ENVS name(i 10) sal(i 11) address(i 12) works. In(i 16). . Temporary processing section - properties of a processed object Temporary processing section Binders to volatile properties of the current client session Emp(i 1) Emp(i 5) Emp(i 9). . . Dept(i 17) Dept(i 22). . . Database section Libraries and computer environment Emp(i 1) Environment of iloc. . Optimized ENVS Environment of i 9. . Environment of ises Environment of idb Libraries and computer environment < i 9, Emp, { , } >

Person[0. . *] name: string birth. Year: integer address [0. . 1] city: string Person[0. . *] name: string birth. Year: integer address [0. . 1] city: string street: string house: integer age(): integer Emp[0. . *] eno: integer works. In job: string[0. . 1] sal: real manages[0. . 1] change. Sal(new. Sal: real) net. Sal( ): real employs[1. . *] boss Dept[0. . *] dno: integer dname: string loc: string[1. . *] budget(): real

P 1 calls P 2 Top of the stack Activation record of P 1. P 1 calls P 2 Top of the stack Activation record of P 1. . . . Global entities P 1 is running P 2 calls P 3 Activation record of P 2 Activation record of P 1. . . . Global entities P 2 is running P 3 ends Activation record of P 3 Activation record of P 2 Activation record of P 1. . . . Global entities P 3 is running P 2 ends Activation record of P 2 Activation record of P 1. . . . Global entities P 2 is running Activation record of P 1. . . . Global entities P 1 is running time