Answers to Candidate Key hard questions

Thanks for visiting my blog.

Here are the answers for the two hard finding candidate keys examples:

DF -> C
BC -> F
E -> A
ABC -> E

1. Find the attributes that are not on both side
> –
2. Find the attributes that are only on the right side
> –
3. Find the attributes that are only on the left side
> BD
4. Find the attributes that on both sides

5. Find the closures of core attributes in step 3
> The closures of BD is only BD, it’s not all attributes

6. Find the closures of core attributes + one exterior attributes at a time (attributes on step 4).
> none of the closures is the whole relation

7. Find the closures of core attributes + two exterior attributes at a time
> BDAC – BDACEF (the closure is the whole relation)
> BDAF – BDAFCE (the closures is the whole relation)
> BDCE – BDCEAF (the closures is the whole relation)
> BDEF – BDEFCA (the closures is the whole relation)

8. So the candidate keys are BDAC, BDAF, BDCE, and BDEF.

A -> BC
CD -> E
B -> D
E -> A

1. Find the attributes that are not on both side
> –
2. Find the attributes that are only on the right side
> –
3. Find the attributes that are only on the left side
> –
4. Find the attributes that on both sides

*This is a special case, there is no core attributes, all attributes are on both sides, so all attributes are exterior. In this case we will try find the closures of one attribute at a time.

A – ABCDE (the closures is the whole relation)
B – BD
C – C
D – D
E – EABCD (the closures is the whole relation)

So A and E are candidate keys. Let’s try more combination without A and E.

BC – BCDEA (the closures is the whole relation)
CD – CDEAB (the closures is the whole relation)

So BC and CD are also candidate keys. So the candidate keys are A, E, BC, and CD.

Best regards,


How to Backup Outlook Emails to

(photo by Kimberly Vohsen )

One of the most common problems with work email is full inbox and having no more space, especially when you need to send that very important email to your boss or client.

But, you can always archive your emails to Outlook archive file. That’s what I do to keep the inbox size below the limit.

Archiving them to files on your local drive may not be a good option.

First, that archive file can get corrupted.

Second, your laptop can get stolen, lost, or broken.

All of these can mean you will lose those emails.. forever.

Ideally you need to backup your email to cloud and fortunately there are several options. You can backup to Gmail, and Outlook. I decided to put my (almost dormant) Outlook account to use. Continue reading “How to Backup Outlook Emails to”

Quip – Productivity Tools Review

Quip on different screens
Quip on different screens

I love productivity tools!

And there seems to be endless options of tools available online now. Some tools able to stay alive (Evernote, Wunderlist-now owned by Microsoft) some others are not so lucky (Springpad, Astrid).

Now I’m using one of the new tool called Quip, and I like it! Continue reading “Quip – Productivity Tools Review”

TOGAF Exam Practice Question Set 1

The Open Group Architecture Framework (TOGAF) 9.1 reference can be found at The Open Group TOGAF website.

TOGAF Q Set #1 - ADM

Practice first with these questions before taking the TOGAF (The Open Group Architecture Framework) 9.1 Exam!
Congratulations - you have completed TOGAF Q Set #1 - ADM. You scored %%SCORE%% out of %%TOTAL%%. Your performance has been rated as %%RATING%%
Your answers are highlighted below.
Shaded items are complete.


Bose QuietComfort (QC) 20 Noise Cancelling Earphones

Last month, I travelled back to Indonesia after a few years here in US and I was looking for a good earphone to accompany me on my 33 hours one-way flight.

Naturally, noise cancelling earphone or headphone is the first thing that came to my mind, and what company have the best noise cancelling product other than Bose.

I was glad that Bose produced QC20 that promised all the noise cancelling goodness of their long reigning QC15 noise cancelling headphones, all in a a lot smaller (and definitely lighter) form.

I ordered QC20 and put it to the test. Here’s the review.  Continue reading “Bose QuietComfort (QC) 20 Noise Cancelling Earphones”

Programming Design Paradigm (PDP) Course Review : What, Why, and How to Get an A

Recently I noticed some discussions in NEU CS Facebook group about people’s comments on the PDP course. As always, there are people on both the positive and negative side. I’d like to join the discussion but I think writing in my blog would be better so people can read about it without joining the group.

I took PDP in Fall 2010, Prof. Mitchell Wand and Prof. Riccardo Pucella taught the lecture, but I believe the grades came from Prof. Wand based on the codewalk scores. Personally, I thought I and my partners did pretty good on most codewalks and I got A as final grade.

In this post I will tell you more about the setup of the course when I took it, why I think it’s one of the best course in MSCS program, and everything that I believe matters to get high scores. Continue reading “Programming Design Paradigm (PDP) Course Review : What, Why, and How to Get an A”

Theory of People’s Shopping Behavior

Picture of house in cape cod
(photo by cbcs)

It’s been several years since I thought about this theory, but I just have the idea to post it in my blog for public.

I can say that I personally came up with this theory, and I didn’t copy this from anyone, though I don’t dismiss the possibility of someone else have formulated this, and even publicize it before me.

People’s consumerist behavior is an interesting behavior to see, because although most, if not all, people know that it’s better to save more money than what to spend, only few actually done it.

Sometimes, the irony is the people who need to save more are actually the people who spend more.

Obviously, the question is, why? Continue reading “Theory of People’s Shopping Behavior”

What is Computer Science?

The misconception

Probably the most common misconception about computer science is that people thought that the “computer” word in it is for “computer machines”, it’s NOT!

I think the more appropriate name for the degree should be Computing Science.

Why? Because although the field heavily uses computer machines as tools, at it’s core, it deals with calculation and computation, in short, mathematics.

Computer science already existed before IBM created what we call computers nowadays. In fact, the abacus can be considered as one of computer science tools. Continue reading “What is Computer Science?”

On Software Testing and Quality Assurance : Letter to Self

(photo by Cierpki)

After weeks of software quality assurance course, it scares me how many software teams I’ve been in the past that don’t do some, or even most, of the testing and QA basics that I learned in this course.

Finally, it’s the last week of the course and I’m going back to the professional world soon. So, this is a letter that I address to myself weeks, months, or years from now. Now I maybe supercharged with what I’ve learned in class, about regression testing, automated test cases, boundary value analysis, metrics, and so on.

But as time passes by, as the pressure of completing projects come, as the lazy devil tempted me to not write unit testing (oh wait, I can blame the devil), and of course as my memory started to fail me about what I learned in this course, I might not do any of the QA practices.

So this is the reminder for “that” me. Never give up what’s right for a short-time gain. You are better than this, you have the discipline to overcome the temptation, review the SQA lessons and blog posts you have written when you believed that a good quality software requires various measures but they are worth the price. Continue reading “On Software Testing and Quality Assurance : Letter to Self”