se.inf.ethz.chse.inf.ethz.ch/old/teaching/ss2005/0250/lectures/oosc_16... · oosc - summer semester...

38

Upload: vominh

Post on 01-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

���������������� ����������

�������������� �����������������

�������������

����������������������������

���������� ��

OOSC - Summer Semester 2005

2

���������������� ����������

����������������

� !��"��#������������������������������������������$��������

� %�������������������������������$���&

� '������(�������������

� )��������������

�!������������������������

� �����������������

� �������������$���������������

�����������������������������������*�+"+����������,

OOSC - Summer Semester 2005

3

���������������� ����������

-�������������$������������������������

� ����������$�����$�����$����"��$$"���"��"��

� .�����������������

� �����������������������

OOSC - Summer Semester 2005

4

���������������� ����������

-"�������������

� �������������$����"��$$"���"��"��

� -�/�����������

� �����������������������

� ���$���/�����

� 0��$�����������������������

� ��$$������

OOSC - Summer Semester 2005

5

���������������� ����������

-"�������������

� �������������$����"��$$"���"��"��

� -�/�����������

� �����������������������

� ���$���/�����

� 0��$�����������������������

� ��$$������

OOSC - Summer Semester 2005

6

���������������� ����������

�������������$����"��$$"���"��"��

� ������$����������"�����������������������/"����$

� $������������

� �+"+���"���1�����������

� ��/������$�������������

� ��$��������������

� �������������������������������

� �������������� �� �������

�-�������"����������/���$�����$�$���������������������������������������+

→ ������������"�"����������

OOSC - Summer Semester 2005

7

���������������� ����������

!�������������������

� !�������������������������

� �������������������������������������1�����

� !�������������������

� ���������������������������������������������

OOSC - Summer Semester 2005

8

���������������� ����������

name “Regula”

2#�$����������������������

����� ���������� ����� ������������

������������ ������������ ����������������

���������� ������������ �)��������������

����������� ������������������� ������������������

�� ��

itemleft

right

itemleft

right

age 24best_friend

name “Urs”age 18best_friend

name “Reto”age 29best_friend

treeOT1 OP1

OT2OP2 OP3itemleft

right

OT3

OOSC - Summer Semester 2005

9

���������������� ����������

2#�$�������$�2�������������������� )�.-��2

������ ����������� !�������

������"���#����� *�����������������,����$

������"��*���� ������%�&�'%,����$

�������� 2��$������"�

����������� *���� ������%�&�'%,

������������� *���� ������%�&�'%,

����(������������ *���� ������%�&�'%,

�������#����� *�����������������,

��

OOSC - Summer Semester 2005

10

���������������� ����������

)�.-��2��0��$���/�����

� ���������� *���� ������%�&�'%,

� .����/���������������������$����

� �������$��������$��������

� ������������ *���� ������%�&�'%,

� .����/��������$������������$��������$���������$

� ����(����������� *���� ������%�&�'%,

� .����/��������$������������$������������$������������������$

� �������������������������

� ��������$����������������������������$

� 3�����������������/�����4 ���������$��������"��

OOSC - Summer Semester 2005

11

���������������� ����������

%��������������&

IO_MEDIUM

FILE*

RAW_FILE+

PLAIN_TEXT_FILE+

CONSOLE

*+

Interfaced

Deferred

Effected

Inheritance link

OOSC - Summer Semester 2005

12

���������������� ����������

)�.-��2��2#�$���

����� ��������������� �� ������ !�

��

����� ���!������������

��)� ��� �����������+

��

���������+��)���

�������� -�����

*���������������� � 5���+���6

������7����8��� 3$���$�����

���������������������

�������� ����"�

���������� ��� ��������� ������+

��

����+�������#����� *���������,��

�������� .����/��

������������ ��� .����/������ ���$����+

��

���� &9�����+������"��*���������, ����� :9���������� �$���"

��

��

�� ��

����;��;/�������� :9�����

��

OOSC - Summer Semester 2005

13

���������������� ����������

-"�������������

� �������������$����"��$$"���"��"��

� -�/�����������

� �����������������������

� ���$���/�����

� 0��$�����������������������

� ��$$������

OOSC - Summer Semester 2005

14

���������������� ����������

�����������������������

����� %�+���&���������������

������������������������������������#����������������������&�����"���������%�+���*�!�������!��,�&�!���<����=

��

����� ����������

������������������������� +++

��

����%�+���&�����������������>��!�������%��������->�������������

title “Office Space”director “Mike Judge”

O1

category “Comedy”release_date “19-02-1999”movie_file cast

nextprevitem

OL1nextprevitem

OL2

name “Ron Livingston”OA1

tel “01/234912”…

name “Jennifer Aniston”OA2

tel “034/2314134”…

x

movie file

(“BLOB”)

OOSC - Summer Semester 2005

15

���������������� ����������

�����������������������

����� %�+���&���������������

������������������������������������#����������������������&�����"���������%�+���*�!�������!��,�&�!���<����=

��

����� ����������

������������������������� +++

��

����%�+���&�����������������>��!�������%��������->�������������

title “Office Space”director “Mike Judge”

O1

category “Comedy”release_date “19-02-1999”movie_file cast

nextprevitem

OL1nextprevitem

OL2

name “Ron Livingston”OA1

tel “01/234912”…

name “Jennifer Aniston”OA2

tel “034/2314134”…

x

movie file

(“BLOB”)

OOSC - Summer Semester 2005

16

���������������� ����������

%���������&

� 5�������6 �������������������������������������

� -�������/����$�1��������������������������?

� !������������$�����������"������������

� )��������������������������������������������������������

OOSC - Summer Semester 2005

17

���������������� ����������

-������$ ��������� )�.-��2

����� '���%�-�&������ !� �� �

����� !�

�������� ����"�

� ���������� *���� ������%�&�'%,� ��� ����������$���$ ���#�������� �������������������������������� �����������������������$��������� ������+

��

(������������(������������ *���� �,(���������

��

(�������� ��� 2#���������������������������������+

������

��

(��������� ��� 2#��������������������������������+

������

��

�������� .����/��

� �����������"��*���� ������%�&�'%,����$ ��� .����/�������������������1����$��#������� ���������������/������������������ �

��

����� �9�������"��*���� �,(����������"�

��

(����������"� ��� 2#�����������������������/������������������ ������$$������������/����������+

������

��

�������� ����"��*������������,

������������ *�������������!��,�&�!���<������=,� ��� ������(��"�����������"/����������������+

��

�� @�������$���$����+��

��

OOSC - Summer Semester 2005

18

���������������� ����������

-������$ ��������� )�.-��2�*���A�,

� (�������� ������������������������������������$�����������B����������������������'��

� (��������� �����/���������������"�

� (�������� $�������������$�������"������������������������������(��������� �����������$$�������������

� (����������"� ����������$��������������������������������������������������������(�������� *�����������$�����(���������,

� ������������ $����$�����(�����������

→ �/��������������������(��������:(���������

→ $����������

OOSC - Summer Semester 2005

19

���������������� ����������

���$���/�����

� 0����������������"�

� ������$�����������������������������������������������/�����"��

� �������"�� �����

� -����������������������������������/"������$�����������$���������������������������������"������$+

� ��.���������"�����������

� )��������/"������$������/�������������������������������"�����"����������������������������"������$+

→ ����C����������������������������

� @��������������������������

OOSC - Summer Semester 2005

20

���������������� ����������

!�����������������

� @�/�1��#���$�������������

� 0����(�����/��������������������

� �/�����$"�������������$��������$��������

�����$����/�������������������

����������������������"�������������������������������$��������/����������������

� �����"��������������������������/����

� ������%����/����������������/�������+�%������������������(�������/������������������������������+

OOSC - Summer Semester 2005

21

���������������� ����������

�������������������/����

� )��������������������

� !�������

��������������$�$����

� @��������

���(�������/"������$�����������������$�$����

� ���������

���"�$�$��������������������������������

���(������������������������������������/����

OOSC - Summer Semester 2005

22

���������������� ����������

!������

� !��������$�$����������������/�����������������A��"�����"������

� )�������"����������������������

� @�$������������

� 2����������/�����������/������$�

� ���������"�������$�����$���������

� �������������������

� !�������������������������$�����������������������

� ��������������������

� $���������������$������������������������������/��������������������������������

OOSC - Summer Semester 2005

23

���������������� ����������

!�������� ����������-�������

� %����������������������������������������&

� )�����������������������������������

� )����#���$�������������

� ��� �������$�

� �D� �������������#��*�+"+��������������#�����,

� .��������������������

� �E� �������$�1������������������*�$���������,

� �F� �����������E� ������/����

OOSC - Summer Semester 2005

24

���������������� ����������

@�������

� %���������������������������$�����$��������"������������$�$����&

� ��������$������������������������

���������������� ��� G�����������������/���$�$����+

�����

�/��(�������0���������

������/��(�����/��(����+����� *HH<

.��������������������$�$��������"������/��=AA,

��

OOSC - Summer Semester 2005

25

���������������� ����������

��������

� G����������������������������������������$�$����&

� ��������������

� .����/���$�����$�������������������������*�����������$�����������������������$��"�����"������,

� -�$�$����������������������→ ���������������$�������*$������������,������

0.0Attribute was not in stored version.Field is initialized to default value of attribute type

Stored version had a field.New version has removed attribute.

Attributes have not changed.

OOSC - Summer Semester 2005

26

���������������� ����������

��������

���������������� �

�� G�����������������/���$�$����

�� �����������������"����������+

��

������� �9���(�����+����� � 1������1���+�����

����

���������������� 9���(�����+����� � 1������1���+�����

��

deposits

withdrawals

balance 0.0

900 100 200

240 300new field

(initialized to default value)

old fields

Wrong!

OOSC - Summer Semester 2005

27

���������������� ����������

)�.-��2���$�����

� ����������������������(����/������

� !����������������������������������������������

� �����������������/���������/����������"������������������(��������������C����������!��

� ����������/����������������������������

� ����������������$�����������������������/��/��������������������������1���������������������

� @������$���/�����

� @���$������������������������������������������

OOSC - Summer Semester 2005

28

���������������� ����������

-"�������������

� �������������$����"��$$"���"��"��

� -�/�����������

� �����������������������

� ���$���/�����

� 0��$�����������������������

� ��$$������

OOSC - Summer Semester 2005

29

���������������� ����������

0��$�����������������������

� -��������$�����$����������"���������/"��������$������!�� ������������������������"���$��

� ���������

� ���"��$$��������������

� -��������� �

� -������������

� ���������������C����"

� 3��"������������

� -�$������

� ���"

� ���("

� )��������

OOSC - Summer Semester 2005

30

���������������� ����������

����������������������������

� ���������������������"�������������1���������1���

� I�������������� �����"��"��* I�,

� J�������5��$�� ��6���/��������������$����/����B���������������������

“The Carterhouse of Parma”

“The Red and the Black”

Title

“Madame Bovary”

“Eug�nie Grandet”

date

1830

1839

1856

1833

pages

341

307

425

346

author

“Stendahl”

“Stendahl”

“Flaubert”

“Balzac”

Relation books:

field

tuple

(= row)

field name (= attribute)

column

OOSC - Summer Semester 2005

31

���������������� ����������

��������

� ������������23455

� ��������

� K�

“The Carterhouse of Parma”

Title

“Madame Bovary”

date

1839

1856

pages

307

425

author

“Stendahl”

“Flaubert”

OOSC - Summer Semester 2005

32

���������������� ����������

��������

� ������

� ������������� ����

� K�

author

“Stendahl”

“Flaubert”

“Balzac”

OOSC - Summer Semester 2005

33

���������������� ����������

��������

� ������

� ��������

� K������)� � �����

“The Carterhouse of Parma”

“The Red and the Black”

Title

“Madame Bovary”

“Eug�nie Grandet”

date

1830

1839

1856

1833

pages

341

307

425

346

author

“Stendahl”

“Stendahl”

“Flaubert”

“Balzac”

real name

“Henri Beyle”

“Henri Beyle”

“Gustave Flaubert”

“Honor� de Balzac”

birth

1783

1783

1821

1799

death

1842

1842

1880

1850

name

“Stendahl”

“Stendahl”

“Flaubert”

“Balzac”

real name

“Henri Beyle”

“Henri Beyle”

“Gustave Flaubert”

“Honor� de Balzac”

birth

1783

1783

1821

1799

death

1842

1842

1880

1850

Relation authors:

OOSC - Summer Semester 2005

34

���������������� ����������

J�"������������������������������������

� ��$������������$��

� �������������������/�����������

� J��"��

� J��"������#��"�������������������������

� $��������������������

� 3$�������$�$����?

Relational

relation

tuple

field name

O-O

class

object

attribute

OOSC - Summer Semester 2005

35

���������������� ����������

�����������������������

� .�$�/��$�������$�$����

� �/����$�������������$����������������������������

� !��������������$���������"���������$���

� $����"����������������������

� @��$������$������������������������5�������6

� -���$������������$������/���������������������

OOSC - Summer Semester 2005

36

���������������� ����������

.�C���$����������!��

� �$�����C���$����

� !������������������*�������������DL,

� 2���������

� ������������

� .��������

� -���������C���$����

� 3�������

� )��"

� !��$����"

� �������/����"

� ���$���/�����

� ��"����������

� ���("

� ��������������C�����

OOSC - Summer Semester 2005

37

���������������� ����������

��!���#�$����

� M�$����

� 3�����

� ������

� ������/��

� ������ ����

� ����

� �D

� ����

� ������

� '�����

� ���2)GN���� ����

���������������� ����������

2���������������