Different database queries
up vote
0
down vote
favorite
We have the table person (pid,pname)
We want to find the names of the persons. What is difference between a and d? I know that d is the correct answer but I don't understand why.
$$a), {langle Xrangle mid forall Y, (textrm{person}(Y,X))}.$$
$$d), {langle Xranglemid exists Y, (textrm{person}(Y,X))}.$$
original image
computational-mathematics
add a comment |
up vote
0
down vote
favorite
We have the table person (pid,pname)
We want to find the names of the persons. What is difference between a and d? I know that d is the correct answer but I don't understand why.
$$a), {langle Xrangle mid forall Y, (textrm{person}(Y,X))}.$$
$$d), {langle Xranglemid exists Y, (textrm{person}(Y,X))}.$$
original image
computational-mathematics
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
We have the table person (pid,pname)
We want to find the names of the persons. What is difference between a and d? I know that d is the correct answer but I don't understand why.
$$a), {langle Xrangle mid forall Y, (textrm{person}(Y,X))}.$$
$$d), {langle Xranglemid exists Y, (textrm{person}(Y,X))}.$$
original image
computational-mathematics
We have the table person (pid,pname)
We want to find the names of the persons. What is difference between a and d? I know that d is the correct answer but I don't understand why.
$$a), {langle Xrangle mid forall Y, (textrm{person}(Y,X))}.$$
$$d), {langle Xranglemid exists Y, (textrm{person}(Y,X))}.$$
original image
computational-mathematics
computational-mathematics
edited Nov 21 at 10:57
Somos
12.7k11034
12.7k11034
asked Nov 21 at 10:44
Krister
1
1
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
0
down vote
a) says that for every id $Y$, the name matches $X$, i.e. this set contain $X$ only if all names were equal to $X$.
add a comment |
up vote
0
down vote
a) would give you the list of all pnames (X) that are are associated will all pids (notice the "for all" ($forall$) quantifier before the Y). Assuming that pids are unique (they usually are keys), this would give you an empty list if you had 2 different persons in the list.
d) gives you the list of all existing pnames (X), because it is only required that at least one pid exists ($exists$ before the Y) such that (Y,X) is in the database. In your database, each entry must be of the form (pid, pname), so each existing pname must have (at least one) pid that occurs with it, so query d) finds it.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
a) says that for every id $Y$, the name matches $X$, i.e. this set contain $X$ only if all names were equal to $X$.
add a comment |
up vote
0
down vote
a) says that for every id $Y$, the name matches $X$, i.e. this set contain $X$ only if all names were equal to $X$.
add a comment |
up vote
0
down vote
up vote
0
down vote
a) says that for every id $Y$, the name matches $X$, i.e. this set contain $X$ only if all names were equal to $X$.
a) says that for every id $Y$, the name matches $X$, i.e. this set contain $X$ only if all names were equal to $X$.
answered Nov 21 at 11:27
Berci
59k23671
59k23671
add a comment |
add a comment |
up vote
0
down vote
a) would give you the list of all pnames (X) that are are associated will all pids (notice the "for all" ($forall$) quantifier before the Y). Assuming that pids are unique (they usually are keys), this would give you an empty list if you had 2 different persons in the list.
d) gives you the list of all existing pnames (X), because it is only required that at least one pid exists ($exists$ before the Y) such that (Y,X) is in the database. In your database, each entry must be of the form (pid, pname), so each existing pname must have (at least one) pid that occurs with it, so query d) finds it.
add a comment |
up vote
0
down vote
a) would give you the list of all pnames (X) that are are associated will all pids (notice the "for all" ($forall$) quantifier before the Y). Assuming that pids are unique (they usually are keys), this would give you an empty list if you had 2 different persons in the list.
d) gives you the list of all existing pnames (X), because it is only required that at least one pid exists ($exists$ before the Y) such that (Y,X) is in the database. In your database, each entry must be of the form (pid, pname), so each existing pname must have (at least one) pid that occurs with it, so query d) finds it.
add a comment |
up vote
0
down vote
up vote
0
down vote
a) would give you the list of all pnames (X) that are are associated will all pids (notice the "for all" ($forall$) quantifier before the Y). Assuming that pids are unique (they usually are keys), this would give you an empty list if you had 2 different persons in the list.
d) gives you the list of all existing pnames (X), because it is only required that at least one pid exists ($exists$ before the Y) such that (Y,X) is in the database. In your database, each entry must be of the form (pid, pname), so each existing pname must have (at least one) pid that occurs with it, so query d) finds it.
a) would give you the list of all pnames (X) that are are associated will all pids (notice the "for all" ($forall$) quantifier before the Y). Assuming that pids are unique (they usually are keys), this would give you an empty list if you had 2 different persons in the list.
d) gives you the list of all existing pnames (X), because it is only required that at least one pid exists ($exists$ before the Y) such that (Y,X) is in the database. In your database, each entry must be of the form (pid, pname), so each existing pname must have (at least one) pid that occurs with it, so query d) finds it.
answered Nov 21 at 11:30
Ingix
2,999145
2,999145
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3007553%2fdifferent-database-queries%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown