se.inf.ethz.chse.inf.ethz.ch/old/teaching/ss2005/0250/lectures/oosc_16... · oosc - summer semester...
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���� ����