File notes/lectures_notes.md changed (mode: 100644) (index 21b45fe..5b31f3e) |
... |
... |
U | T | U | U |
1545 |
1545 |
|
|
1546 |
1546 |
|| |
|| |
1547 |
1547 |
:--: | :--: |
:--: | :--: |
1548 |
|
**NOT** | ~ |
|
|
1548 |
|
**NOT** | \ |
1549 |
1549 |
T | F |
T | F |
1550 |
1550 |
F | T |
F | T |
1551 |
1551 |
U | U |
U | U |
|
... |
... |
At the logical (conceptual) and physical (implementation) levels. |
3553 |
3553 |
|
|
3554 |
3554 |
Goals: |
Goals: |
3555 |
3555 |
|
|
3556 |
|
a. Information preservation |
|
3557 |
|
b. Minimum redundancy |
|
3558 |
|
c. Make queries easy |
|
|
3556 |
|
#. Information preservation (and avoid loss of information) |
|
3557 |
|
#. Minimum redundancy |
|
3558 |
|
#. Make queries easy (avoid redundant work, make `select` / `join` easy) |
3559 |
3559 |
|
|
3560 |
3560 |
### General rules |
### General rules |
3561 |
3561 |
|
|
|
... |
... |
c. Make queries easy |
3566 |
3566 |
#### No anomalies |
#### No anomalies |
3567 |
3567 |
|
|
3568 |
3568 |
#. Insertion Anomalies |
#. Insertion Anomalies |
3569 |
|
|
|
3570 |
|
Having to invent values or to put `NULL` to insert tuples, especially on a key attribute! |
|
|
3569 |
|
: Having to invent values or to put `NULL` to insert tuples, especially on a key attribute! |
3571 |
3570 |
|
|
3572 |
3571 |
#. Deletion Anomalies |
#. Deletion Anomalies |
3573 |
|
|
|
3574 |
|
Loosing information inadvertently |
|
|
3572 |
|
: Loosing information inadvertently |
3575 |
3573 |
|
|
3576 |
3574 |
#. Modification Anomalies |
#. Modification Anomalies |
3577 |
|
|
|
3578 |
|
Updated have to be consistent. |
|
|
3575 |
|
: Updated have to be consistent. |
3579 |
3576 |
|
|
3580 |
3577 |
(Bad!) Example: |
(Bad!) Example: |
3581 |
3578 |
|
|
|
... |
... |
Transform into "Emergency Contact in University" relation (bonus: allow multiple |
3606 |
3603 |
|
|
3607 |
3604 |
Example with advisorOffice and Office: if we try to write a join to obtain the phone number of a student's advisor, we will obtain all the phone. (Not clear example, find a better one). |
Example with advisorOffice and Office: if we try to write a join to obtain the phone number of a student's advisor, we will obtain all the phone. (Not clear example, find a better one). |
3608 |
3605 |
|
|
3609 |
|
--- |
|
3610 |
|
|
|
3611 |
|
**Last time:** |
|
3612 |
|
|
|
3613 |
|
Check: 1) Clear Semantics, 2) Absence of Anomalies, 3) Rarity of NULL, 4) Identical Attributes in Different Tables should have a FK / PK relation. |
|
3614 |
|
|
|
3615 |
|
Goals: To avoid redundant work, loss of info., difficulties to select / join, redundancy. |
|
|
3606 |
|
### Example |
3616 |
3607 |
|
|
3617 |
3608 |
~~~ |
~~~ |
3618 |
3609 |
|
|
|
... |
... |
Corrected to: |
3625 |
3616 |
|
|
3626 |
3617 |
~~~ |
~~~ |
3627 |
3618 |
|
|
3628 |
|
MARKER(Owner, Color, Brand) |
|
|
3619 |
|
MARKER(Owner, Color, B͟r͟a͟n͟d͟) |
3629 |
3620 |
|
|
3630 |
|
TEACHER(Office, Name, Phone) |
|
|
3621 |
|
TEACHER(Office, N͟a͟m͟e͟, Phone) |
3631 |
3622 |
|
|
3632 |
|
BRAND(Name, Email) |
|
|
3623 |
|
BRAND(N͟a͟m͟e͟, Email) |
3633 |
3624 |
~~~ |
~~~ |
3634 |
3625 |
|
|
3635 |
|
Brand, Name and Name being the ID. |
|
3636 |
3626 |
|
|
3637 |
3627 |
### Functional dependencies |
### Functional dependencies |
3638 |
3628 |
|
|
3639 |
|
Formal tool to assess how "good" a database is, a property of the relation schema. |
|
|
3629 |
|
Functional dependencies (FD) is a formal tool used to assess how "good" a database is, a property of the relation schema. |
3640 |
3630 |
|
|
3641 |
3631 |
#### Using semantics of attributes |
#### Using semantics of attributes |
3642 |
3632 |
|
|
|
... |
... |
Example of Use Case |
3926 |
3916 |
## Exercises {-} |
## Exercises {-} |
3927 |
3917 |
|
|
3928 |
3918 |
Exercise +.# |
Exercise +.# |
3929 |
|
~ What could be the decomposition of an attribute used to store an email address? When could that be useful? |
|
|
3919 |
|
|
|
3920 |
|
: What could be the decomposition of an attribute used to store an email address? When could that be useful? |
3930 |
3921 |
|
|
3931 |
3922 |
Exercise +.# |
Exercise +.# |
3932 |
|
~ Draw the ER diagram for a "COMPUTER" entity that has one multivalued attribute "Operating\_System", a composite attribute "Devices" (decomposed into "Keyboard" and "Mouse") and an "Id" key attribute. |
|
|
3923 |
|
|
|
3924 |
|
: Draw the ER diagram for a "COMPUTER" entity that has one multivalued attribute "Operating\_System", a composite attribute "Devices" (decomposed into "Keyboard" and "Mouse") and an "Id" key attribute. |
3933 |
3925 |
|
|
3934 |
3926 |
Exercise +.# |
Exercise +.# |
3935 |
|
~ Draw the ER diagram for a "CELLPHONE" entity that has a composite attribute "Plan" (decomposed into "Carrier" and "Price"), a "Mobile\_identification\_number" key attribute, and a multi-valued "App\_Installed" attribute. |
|
|
3927 |
|
|
|
3928 |
|
: Draw the ER diagram for a "CELLPHONE" entity that has a composite attribute "Plan" (decomposed into "Carrier" and "Price"), a "Mobile\_identification\_number" key attribute, and a multi-valued "App\_Installed" attribute. |
3936 |
3929 |
|
|
3937 |
3930 |
Exercise +.# |
Exercise +.# |
3938 |
|
~ Name one difference between a primary key in the relational model, and a key attribute in the ER model. |
|
|
3931 |
|
|
|
3932 |
|
: Name one difference between a primary key in the relational model, and a key attribute in the ER model. |
3939 |
3933 |
|
|
3940 |
3934 |
Exercise +.# |
Exercise +.# |
3941 |
|
~ What is the difference between an entity type and a weak entity type? |
|
|
3935 |
|
|
|
3936 |
|
: What is the difference between an entity type and a weak entity type? |
3942 |
3937 |
|
|
3943 |
3938 |
Exercise +.# |
Exercise +.# |
3944 |
|
~ What is the degree of a relationship type? |
|
|
3939 |
|
|
|
3940 |
|
: What is the degree of a relationship type? |
3945 |
3941 |
|
|
3946 |
3942 |
Exercise +.# |
Exercise +.# |
3947 |
|
~ What is a self-referencing, or recursive, relationship type? Give two examples. |
|
|
3943 |
|
|
|
3944 |
|
: What is a self-referencing, or recursive, relationship type? Give two examples. |
3948 |
3945 |
|
|
3949 |
3946 |
Exercise +.# |
Exercise +.# |
3950 |
|
~ What does it mean for a binary relationship type "Owner" between entity types "Person" and "Computer" to have a cardinality ration $M:N$? |
|
|
3947 |
|
|
|
3948 |
|
: What does it mean for a binary relationship type "Owner" between entity types "Person" and "Computer" to have a cardinality ration $M:N$? |
3951 |
3949 |
|
|
3952 |
3950 |
Exercise +.# |
Exercise +.# |
3953 |
|
~ What are the two possible structural constraints on a relationship type? |
|
|
3951 |
|
|
|
3952 |
|
: What are the two possible structural constraints on a relationship type? |
3954 |
3953 |
|
|
3955 |
3954 |
Exercise +.# |
Exercise +.# |
3956 |
|
~ Under what condition(s) can an attribute of a binary relationship type be migrated to become an attribute of one of the participating entity type? |
|
|
3955 |
|
|
|
3956 |
|
: Under what condition(s) can an attribute of a binary relationship type be migrated to become an attribute of one of the participating entity type? |
3957 |
3957 |
|
|
3958 |
3958 |
Exercise +.# |
Exercise +.# |
3959 |
|
~ What is a partial key? |
|
|
3959 |
|
|
|
3960 |
|
: What is a partial key? |
3960 |
3961 |
|
|
3961 |
3962 |
Exercise +.# |
Exercise +.# |
3962 |
|
~ For the following binary relationships, suggest cardinality ratios based on the common-sense meaning of the entity types. |
|
3963 |
3963 |
|
|
|
3964 |
|
: For the following binary relationships, suggest cardinality ratios based on the common-sense meaning of the entity types. |
|
3965 |
|
|
|
3966 |
|
<!-- Bug with table --> |
3964 |
3967 |
Entity 1 | Cardinality Ratio | Entity 2 | |
Entity 1 | Cardinality Ratio | Entity 2 | |
3965 |
3968 |
| --- | :---: | --- | |
| --- | :---: | --- | |
3966 |
|
STUDENT | | MAJOR |
|
3967 |
|
CAR | | TAG |
|
3968 |
|
INSTRUCTOR | | LECTURE |
|
3969 |
|
INSTRUCTOR | | OFFICE |
|
3970 |
|
COMPUTER | | OPERATING\_SYSTEM |
|
|
3969 |
|
STUDENT | \ | MAJOR |
|
3970 |
|
CAR | \ | TAG |
|
3971 |
|
INSTRUCTOR | \ | LECTURE |
|
3972 |
|
INSTRUCTOR | \ | OFFICE |
|
3973 |
|
COMPUTER | \ | OPERATING\_SYSTEM |
3971 |
3974 |
|
|
3972 |
3975 |
Exercise +.# |
Exercise +.# |
3973 |
|
~ Give an example of a binary relationship type of cardinality $1:N$. |
|
|
3976 |
|
|
|
3977 |
|
: Give an example of a binary relationship type of cardinality $1:N$. |
3974 |
3978 |
|
|
3975 |
3979 |
Exercise +.# |
Exercise +.# |
3976 |
|
~ Give an example of a binary relationship type of cardinality $N:1$, and draw the corresponding diagram (you don't have to include details on the participating entity types). |
|
|
3980 |
|
|
|
3981 |
|
: Give an example of a binary relationship type of cardinality $N:1$, and draw the corresponding diagram (you don't have to include details on the participating entity types). |
3977 |
3982 |
|
|
3978 |
3983 |
Exercise +.# |
Exercise +.# |
3979 |
|
~ Draw an ER diagram with a single entity type, with two stored attributes and one derived attribute. In your answer, it should be clear that the value for the derived attribute will always be obtained from the value(s) for the other attribute(s). |
|
|
3984 |
|
|
|
3985 |
|
: Draw an ER diagram with a single entity type, with two stored attributes and one derived attribute. In your answer, it should be clear that the value for the derived attribute will always be obtained from the value(s) for the other attribute(s). |
3980 |
3986 |
|
|
3981 |
3987 |
Exercise +.# |
Exercise +.# |
3982 |
|
~ Draw an ER diagram expressing the total participation of an entity type "BURGER" in a binary relation "CONTAINS" between "BURGER" and "INGREDIENT". |
|
|
3988 |
|
|
|
3989 |
|
: Draw an ER diagram expressing the total participation of an entity type "BURGER" in a binary relation "CONTAINS" between "BURGER" and "INGREDIENT". |
3983 |
3990 |
What would be the ratio of such a relation? |
What would be the ratio of such a relation? |
3984 |
3991 |
|
|
3985 |
3992 |
Exercise +.# |
Exercise +.# |
3986 |
|
~ Convert the following ER diagram into a relational model: |
|
|
3993 |
|
~ |
|
3994 |
|
Convert the following ER diagram into a relational model: |
3987 |
3995 |
|
|
3988 |
|
 |
|
3989 |
|
\ |
|
|
3996 |
|
 |
3990 |
3997 |
|
|
3991 |
3998 |
Exercise +.# |
Exercise +.# |
3992 |
|
~ Why do weak entity type have a total participation constraint? |
|
|
3999 |
|
|
|
4000 |
|
: Why do weak entity type have a total participation constraint? |
3993 |
4001 |
|
|
3994 |
4002 |
Exercise +.# |
Exercise +.# |
3995 |
|
~ What is insertion anomaly? Give an example. |
|
|
4003 |
|
|
|
4004 |
|
: What is insertion anomaly? Give an example. |
3996 |
4005 |
|
|
3997 |
4006 |
Exercise +.# |
Exercise +.# |
3998 |
|
~ What is deletion anomaly? Is it a desirable feature? |
|
|
4007 |
|
|
|
4008 |
|
: What is deletion anomaly? Is it a desirable feature? |
3999 |
4009 |
|
|
4000 |
4010 |
Exercise +.# |
Exercise +.# |
4001 |
|
~ Why should we avoid attributes whose value will often be `NULL`? Can the usage of `NULL` be completely avoided? |
|
|
4011 |
|
|
|
4012 |
|
: Why should we avoid attributes whose value will often be `NULL`? Can the usage of `NULL` be completely avoided? |
4002 |
4013 |
|
|
4003 |
4014 |
Exercise +.# |
Exercise +.# |
4004 |
|
~ Consider the following relation: |
|
|
4015 |
|
~ |
|
4016 |
|
|
|
4017 |
|
Consider the following relation: |
4005 |
4018 |
|
|
4006 |
4019 |
PROF(S͟S͟N͟, Name, Department, Bike\_brand) |
PROF(S͟S͟N͟, Name, Department, Bike\_brand) |
4007 |
4020 |
|
|
|
... |
... |
Exercise +.# |
4009 |
4022 |
How should we store this information? |
How should we store this information? |
4010 |
4023 |
|
|
4011 |
4024 |
Exercise +.# |
Exercise +.# |
4012 |
|
~ Consider the following relation: |
|
|
4025 |
|
~ |
|
4026 |
|
Consider the following relation: |
4013 |
4027 |
|
|
4014 |
4028 |
STUDENT(S͟S͟N͟, Name, $…$, Sibling\_On\_Campus) |
STUDENT(S͟S͟N͟, Name, $…$, Sibling\_On\_Campus) |
4015 |
4029 |
|
|
|
... |
... |
Exercise +.# |
4017 |
4031 |
How should we store this information? |
How should we store this information? |
4018 |
4032 |
|
|
4019 |
4033 |
Exercise +.# |
Exercise +.# |
4020 |
|
~ Consider the following relational database schema: |
|
|
4034 |
|
~ |
|
4035 |
|
Consider the following relational database schema: |
4021 |
4036 |
|
|
4022 |
4037 |
STUDENT(L͟o͟g͟i͟n͟, Name, $…$, Major, Major\_Head) |
STUDENT(L͟o͟g͟i͟n͟, Name, $…$, Major, Major\_Head) |
4023 |
4038 |
DEPARTMENT(C͟o͟d͟e͟, Name, Major\_Head) |
DEPARTMENT(C͟o͟d͟e͟, Name, Major\_Head) |
|
... |
... |
Exercise +.# |
4025 |
4040 |
Assuming that "Major" is a foreign key referencing "DEPARTMENT.Code", what is the problem with that schema? How could you address it? |
Assuming that "Major" is a foreign key referencing "DEPARTMENT.Code", what is the problem with that schema? How could you address it? |
4026 |
4041 |
|
|
4027 |
4042 |
Exercise +.# |
Exercise +.# |
4028 |
|
~ Consider the relation $R(A , B, C, D, E, F)$ and the following functional dependencies: |
|
|
4043 |
|
~ |
|
4044 |
|
Consider the relation $R(A , B, C, D, E, F)$ and the following functional dependencies: |
4029 |
4045 |
|
|
4030 |
4046 |
#. $F \to \{D, C\}, D \to \{B, E\}, \{B, E\} \to A$ |
#. $F \to \{D, C\}, D \to \{B, E\}, \{B, E\} \to A$ |
4031 |
4047 |
#. $\{A, B\} \to \{C, D\}, \{B, E\} \to F$ |
#. $\{A, B\} \to \{C, D\}, \{B, E\} \to F$ |
|
... |
... |
Exercise +.# |
4034 |
4050 |
For each set of functional dependency, give a key for $R$. We want a key, so it has to be minimal. |
For each set of functional dependency, give a key for $R$. We want a key, so it has to be minimal. |
4035 |
4051 |
|
|
4036 |
4052 |
Exercise +.# |
Exercise +.# |
4037 |
|
~ Consider the relation $R(A, B, C, D, E, F)$ and the following functional dependencies: |
|
|
4053 |
|
~ |
|
4054 |
|
Consider the relation $R(A, B, C, D, E, F)$ and the following functional dependencies: |
4038 |
4055 |
\[ A \to \{D, E\}, D \to \{B, F\}, \{B, E\} \to A, \{A,C\} \to \{B, D, F\}, A \to F\] |
\[ A \to \{D, E\}, D \to \{B, F\}, \{B, E\} \to A, \{A,C\} \to \{B, D, F\}, A \to F\] |
4039 |
4056 |
Answer the following: |
Answer the following: |
4040 |
4057 |
|
|
|
... |
... |
Exercise +.# |
4042 |
4059 |
#. How many transitive dependencies can you find? Give them and justify them. |
#. How many transitive dependencies can you find? Give them and justify them. |
4043 |
4060 |
|
|
4044 |
4061 |
Exercise +.# |
Exercise +.# |
4045 |
|
~ Consider the relation $R(A, B, C, D)$ and answer the following: |
|
|
4062 |
|
~ |
|
4063 |
|
Consider the relation $R(A, B, C, D)$ and answer the following: |
4046 |
4064 |
|
|
4047 |
4065 |
#. If $\{A, B\}$ is the only key, is $\{A, B\} \to \{C,D\}, \{B, C\} \to D$ a 2NF? List the nonprime attributes and justify. |
#. If $\{A, B\}$ is the only key, is $\{A, B\} \to \{C,D\}, \{B, C\} \to D$ a 2NF? List the nonprime attributes and justify. |
4048 |
4066 |
#. If $\{A, B, C\}$ is the only key, is $A \to \{B, D\}, \{A, B, C\} \to D$ a 2NF? List the nonprime attributes and justify. |
#. If $\{A, B, C\}$ is the only key, is $A \to \{B, D\}, \{A, B, C\} \to D$ a 2NF? List the nonprime attributes and justify. |
4049 |
4067 |
|
|
4050 |
4068 |
Exercise +.# |
Exercise +.# |
4051 |
|
~ Consider the relation $R(A, B, C, D, E, F)$ with candidate keys $\{A, B\}$ and $C$. Answer the following: |
|
|
4069 |
|
~ |
|
4070 |
|
Consider the relation $R(A, B, C, D, E, F)$ with candidate keys $\{A, B\}$ and $C$. Answer the following: |
4052 |
4071 |
|
|
4053 |
4072 |
#. What are the prime attributes in $R$? |
#. What are the prime attributes in $R$? |
4054 |
4073 |
#. Is $\{C,D\} \to E$ a fully functional dependency? |
#. Is $\{C,D\} \to E$ a fully functional dependency? |
4055 |
4074 |
#. Write a set of functional dependencies containing at least one transitive depency, and justify your answer. |
#. Write a set of functional dependencies containing at least one transitive depency, and justify your answer. |
4056 |
4075 |
|
|
4057 |
4076 |
Exercise +.# |
Exercise +.# |
4058 |
|
~ Consider the relation $R(A , B, C, D, E)$ and the following functional dependencies: |
|
|
4077 |
|
~ |
|
4078 |
|
Consider the relation $R(A , B, C, D, E)$ and the following functional dependencies: |
4059 |
4079 |
|
|
4060 |
4080 |
#. $C \to D, \{C, B\} \to A, A \to \{B, C, D\}, B \to E$ |
#. $C \to D, \{C, B\} \to A, A \to \{B, C, D\}, B \to E$ |
4061 |
4081 |
#. $\ A \to \{C, D\}, C \to B, D \to E, \{E, C\} \to A$ |
#. $\ A \to \{C, D\}, C \to B, D \to E, \{E, C\} \to A$ |
|
... |
... |
Exercise +.# |
4064 |
4084 |
For each one, give one candidate key for $R$. |
For each one, give one candidate key for $R$. |
4065 |
4085 |
|
|
4066 |
4086 |
Exercise +.# |
Exercise +.# |
4067 |
|
~ Consider the relation $R(A, B, C, D, E)$ and answer the following: |
|
|
4087 |
|
~ |
|
4088 |
|
Consider the relation $R(A, B, C, D, E)$ and answer the following: |
4068 |
4089 |
|
|
4069 |
4090 |
#. If $\{A, B\}$ is the primary key, is $B \to E, C \to D$ a 2NF?% List the nonprime attributes and justify. |
#. If $\{A, B\}$ is the primary key, is $B \to E, C \to D$ a 2NF?% List the nonprime attributes and justify. |
4070 |
4091 |
#. If $\{A\}$ is the primary key, is $B \to C, B \to D$ a 2NF?% List the nonprime attributes and justify. |
#. If $\{A\}$ is the primary key, is $B \to C, B \to D$ a 2NF?% List the nonprime attributes and justify. |
4071 |
4092 |
|
|
4072 |
4093 |
Exercise +.# |
Exercise +.# |
4073 |
|
~ Consider the relation $R(A, B, C, D, E, F)$, and let $\{B, D\}$ be the primary key, and have additionnaly the functional dependencies $\{A, D\} \to E, C \to F$. |
|
|
4094 |
|
|
|
4095 |
|
: Consider the relation $R(A, B, C, D, E, F)$, and let $\{B, D\}$ be the primary key, and have additionnaly the functional dependencies $\{A, D\} \to E, C \to F$. |
4074 |
4096 |
This relation is not in 3NF, can you tell why? |
This relation is not in 3NF, can you tell why? |
4075 |
4097 |
|
|
4076 |
4098 |
Exercise +.# |
Exercise +.# |
4077 |
|
~ Consider the relation $R(A, B, C, D)$ and answer the following: |
|
|
4099 |
|
~ |
|
4100 |
|
Consider the relation $R(A, B, C, D)$ and answer the following: |
4078 |
4101 |
|
|
4079 |
4102 |
#. If $A$ is the only key, is $A \to \{B,C,D\}, \{A, B\} \to C, \{B, C\} \to D$ a 3NF? List the nonprime attributes and justify. |
#. If $A$ is the only key, is $A \to \{B,C,D\}, \{A, B\} \to C, \{B, C\} \to D$ a 3NF? List the nonprime attributes and justify. |
4080 |
4103 |
#. If $B$ is the only key, is $B \to \{A, C, D\}, A \to \{C, D\}, \{A, C\} \to D$ a 3NF? List the nonprime attributes and justify. |
#. If $B$ is the only key, is $B \to \{A, C, D\}, A \to \{C, D\}, \{A, C\} \to D$ a 3NF? List the nonprime attributes and justify. |
4081 |
4104 |
|
|
4082 |
4105 |
Exercise +.# |
Exercise +.# |
4083 |
|
~ Consider the relation $R(A, B, C, D, E)$ and the functional dependencies $ \{A, B\} \to C, B \to D, C \to E$. Answer the following: |
|
|
4106 |
|
~ |
|
4107 |
|
Consider the relation $R(A, B, C, D, E)$ and the functional dependencies $ \{A, B\} \to C, B \to D, C \to E$. Answer the following: |
4084 |
4108 |
|
|
4085 |
4109 |
#. $A$ by itself is not a primary key, but what is the only key that contains $A$? |
#. $A$ by itself is not a primary key, but what is the only key that contains $A$? |
4086 |
4110 |
#. List the non-prime attributes. |
#. List the non-prime attributes. |
|
... |
... |
Exercise +.# |
4088 |
4112 |
#. One of the relation you obtained at the previous step is likely not to be in 3NF. Can you normalize it? If yes, how? |
#. One of the relation you obtained at the previous step is likely not to be in 3NF. Can you normalize it? If yes, how? |
4089 |
4113 |
|
|
4090 |
4114 |
Exercise +.# |
Exercise +.# |
4091 |
|
~ What are the two different categories of U.M.L. diagram? |
|
|
4115 |
|
|
|
4116 |
|
: What are the two different categories of U.M.L. diagram? |
4092 |
4117 |
|
|
4093 |
4118 |
Exercise +.# |
Exercise +.# |
4094 |
|
~ Can a `C++` developer working on Linux and a `Java` developer working on MacOS use the same class diagram as a basis to write their programs? |
|
|
4119 |
|
|
|
4120 |
|
: Can a `C++` developer working on Linux and a `Java` developer working on MacOS use the same class diagram as a basis to write their programs? |
4095 |
4121 |
Justify your answer. |
Justify your answer. |
4096 |
4122 |
|
|
4097 |
4123 |
Exercise +.# |
Exercise +.# |
4098 |
|
~ What kind of diagram should we use if we want to … |
|
|
4124 |
|
~ |
|
4125 |
|
What kind of diagram should we use if we want to … |
4099 |
4126 |
|
|
4100 |
4127 |
#. describe the functional behavior of the system as seen by the user? |
#. describe the functional behavior of the system as seen by the user? |
4101 |
4128 |
#. capture the flow of messages in a software? |
#. capture the flow of messages in a software? |
4102 |
4129 |
#. represent the workflow of actions of an user? |
#. represent the workflow of actions of an user? |
4103 |
4130 |
|
|
4104 |
4131 |
Exercise +.# |
Exercise +.# |
4105 |
|
~ Name two reasons why one would want to use a U.M.L. class diagram over an E.R. diagram to represent a conceptual schema. |
|
4106 |
4132 |
|
|
4107 |
|
Exercise +.# |
|
4108 |
|
~ Consider the following diagram: |
|
|
4133 |
|
: Name two reasons why one would want to use a U.M.L. class diagram over an E.R. diagram to represent a conceptual schema. |
4109 |
4134 |
|
|
4110 |
|
 |
|
|
4135 |
|
Exercise +.# |
|
4136 |
|
~ |
|
4137 |
|
Consider the following diagram: |
4111 |
4138 |
|
|
4112 |
|
Give the number of attributes for both classes, and suggest two operations for the class that doesn't have any. Discuss the multiplicities: why did the designer picked those values? |
|
|
4139 |
|
 |
|
4140 |
|
|
|
4141 |
|
Give the number of attributes for both classes, and suggest two operations for the class that doesn't have any. Discuss the multiplicities: why did the designer picked those values? |
4113 |
4142 |
|
|
4114 |
4143 |
Exercise +.# |
Exercise +.# |
4115 |
|
~ Briefly explain the difference between an aggregation and a composition association. |
|
|
4144 |
|
|
|
4145 |
|
: Briefly explain the difference between an aggregation and a composition association. |
4116 |
4146 |
|
|
4117 |
4147 |
Exercise +.# |
Exercise +.# |
4118 |
|
~ How is generalization (or inheritance) represented in a U.M.L. class diagram? |
|
|
4148 |
|
|
|
4149 |
|
: How is generalization (or inheritance) represented in a U.M.L. class diagram? |
4119 |
4150 |
Why is such a concept useful? |
Why is such a concept useful? |
4120 |
4151 |
|
|
4121 |
4152 |
Exercise +.# |
Exercise +.# |
4122 |
|
~ Convert the following E.R. diagram into a U.M.L. class diagram: |
|
|
4153 |
|
~ |
|
4154 |
|
|
|
4155 |
|
Convert the following E.R. diagram into a U.M.L. class diagram: |
|
4156 |
|
|
|
4157 |
|
 |
4123 |
4158 |
|
|
4124 |
|
 |
|
4125 |
|
\ |
|
4126 |
4159 |
|
|
4127 |
4160 |
## Solution to Exercises {-} |
## Solution to Exercises {-} |
4128 |
4161 |
|
|