Excel template for a great database of the world's religions
February 18, 2011 4:50 AM   Subscribe

So let's say hypothetically that I decided to make a database of the world's religions and that I wanted to organize the data by a few properties ...

So if I select certain properties I'd see the religions that meet those criteria, e.g.:

[monothesistic] [has marriage ceremonies] [life-after-death][weekly sabbath]

I'd get
Islam, Judaism, Christianity, etc.

If I select:

[monotheistic][weekly sabbath] [Saturday-sabbath]

I'd get:
7th-day adventists; Jews for jesus; Judaism

If I select:

I'd get:
Jews, ?Rastafarians, Jews for J., Adventists

OK, you get the idea.

Ideally I could do this somehow in Excel.
Does anyone have a good template or know of a good resource that can get me started?

I really don't like Access.

Sure would appreciate any ideas!
posted by mateuslee to Computers & Internet (17 answers total) 5 users marked this as a favorite
Curious if you don't like access because of the forms or just because of the terribleness that is Access? Would different DB software make you more apt to actually build out a DB? Also, do you have experience designing DBs (normalizing, FKs, etc...)?

I would basically start by drawing out the DB as you see the tables interacting and then treat the different tabs in Excel as those tables. After that it's all about throwing a front-end on the thing.
posted by zombieApoc at 5:28 AM on February 18, 2011

I don't like access because of the general terribleness that is Access (as you correctly guessed). I'm using it now and find it lacking (to put it mildly).

I have no experience designing DBs in any respect.

I could put it in Excel like you suggest, but not really clear on how it should look. Do you have an example? I can learn from that more easily. I know it's a long-shot...
posted by mateuslee at 5:43 AM on February 18, 2011

Well, building a query in Excel is possible using VB script. I think the most straightforward way to do ANDed searches (as you describe) is to make each religion a row and each property a column. I can't recall if Excel explicitly supports boolean variables, but it's straightforward to use 1 for True and 0 for False. In that case, your query for [Prop A] [Prop B] [Prop C] is A*B*C = 1. (You could do this with sorts of "Query column" if you wanted to do it by hand.)

If you decided you wanted to do OR queries, you just add the columns and look for > 0.
posted by JMOZ at 5:50 AM on February 18, 2011 [1 favorite]

I think this is just a normal Excel spreadsheet:

Make a row for each religion.
Make a column for each property you're interested in.
Select the header columns (where you put the name of each column, not A B C).
In the menu, select "Data -> Filter -> AutoFilter".

You'll then have drop-downs on each column which show the possible values. When you select a value, the spreadsheet will "auto filter" only the religions which match your selected values. Since a lot of the things you're interested in are boolean, you can use 0/1 for these or True/False or some other standard value.
posted by beerbajay at 5:51 AM on February 18, 2011

Yeah, I think I could make the entire thing boolean (though there may be some very specific stuff). But ideally this would have a nice user interface "front page" where someone could specify their query.

Am I pushing it, or is this possible?
posted by mateuslee at 5:54 AM on February 18, 2011

In Excel, you could accomplish something similar to a one-to-many relationship, but it can be a little clunky compared to Access. Basically you can do this one of two ways:

1. Simplest solution: You can create everything in a single sheet, ordered by religion. You'd then have description columns (theology | sabbath | afterlife | percentage | etc). You can then enable an auto-filter on the header row and perform your searches on the description columns (click the drop down, Text Filters, Contains...). If more than one value pertains to a field, you could put in multiples separated by commas.

2. Prettier interface but more complex solution: You could create multiple sheets to have a tidier front end. The first will act as a query sheet (where you would enter your searches). The second will be your lookup table:

Religion | Descriptor
christianity | monotheistic
christianity | sunday
christianity | God
judaism | God
judaism | kosher
buddism | meditation
jedi | the force

...and so on

You would then be able to use the VLOOKUP feature in Excel to search on the 2nd column and return the value(s) of the 1st column.
posted by samsara at 5:58 AM on February 18, 2011

Actually on the 1st solution I mentioned, you could make the lookup table similar to the one in the 2nd. Instead of searching "contains..." you could simply check off the values you want to display.
posted by samsara at 6:01 AM on February 18, 2011

I was trying to find a good way to voice it but i think the people above have it right. you either need to make the choice about what type of properties you want to store regarding each religion and use a single sheet, or multiple sheets, depending on that.

personally I'd choose the multiple sheets so you can store multiple values for each property in different rows (read: all the 600 or so Hindu deities)
posted by zombieApoc at 6:03 AM on February 18, 2011

Yeah, you're essentially describing a bitmap of binary properties, so in principle, you could encode each religion as a long string of bits (that is, a number). In practice, one column per property, one row per religion.
posted by orthogonality at 6:06 AM on February 18, 2011

@ ZombieApoc: I'm not sure how your categorization of the 600 Hindu deities would work, but in effect I would like some ability to "nest" properties, as in your examples.

So, there is some correlation: i.e. your religion may worship Vishnu, but not all of his Avatars (Vamana, Parashuram, Ram, Krishna, Balarama, Buddha, Kalki).

Thus, I guess that Hare Krishnas would be

[polytheistic] [Vishnu] [Vishnu - Krishna]

But not Vamana, Parashuram, Ram, et al.

So, would it be possible to nest [Krishna] under [Vishnu]?

posted by mateuslee at 6:22 AM on February 18, 2011

There are certainly reasons to hate on Access. But everything you're trying to force Excel to manage (nesting and categorizing and searching and all that) would be easy in Access (or any relational database) with a few simple, built-in commands. Don't reinvent the wheel; use this as your opportunity to learn how databases work.

Access simply provides a way to have a set of linked spreadsheets (that's basically all a "table" is) with specified relationships between them, along with a form management system to allow controlled searching and formatting of the results.

That being said, the tool you choose to do this will not in and of itself solve the problems you're having with deciding how to categorize your data. You might want to pick up a book like Database Design for Mere Mortals (heh) or you will end up tearing things out and starting over many, many times when your model turns out to not be flexible enough for what you need to do.
posted by bcwinters at 6:56 AM on February 18, 2011 [2 favorites]

The right way to do this would involve some data modelling before you worry about your solution architecture. Your nesting question is an indicator of this.

(incidentally: I know some people who would be very happy to have lots of meetings and spend a lot of money to get this right-ish...) Hamburger, I think
posted by pompomtom at 6:58 AM on February 18, 2011

@ Pompomtom: I have a good idea of how the data should look now. I already have developed a "form" with good forms and have subdivided the info into "nested categories". Would it be very expensive to get this done nicely?
posted by mateuslee at 7:48 AM on February 18, 2011

Agree with bcwinter that you are doing something that is better suited to a relational database. Excel may be more forgiving in the short term but you'll ultimately find more success with a true database product as your solution gets more complicated. Take this time to learn how databases work and try to fiddle with it in Access. The reasons to hate on Access are its size limitations, some of its non-SQL standard query language features and its problems with multi-user simultaneous access. None of these things should be a problem for your database.
posted by mmascolino at 8:41 AM on February 18, 2011

You could just check out Belief-O-Matic.
posted by mareli at 9:29 AM on February 18, 2011

At present I have around 80 religions listed in an Access database table with many different attributes/columns, and each of these attributes has various lookup values. For example, in the column "alcohol" the lookup values are 'forbidden', 'discouraged', 'moderation' etc. Access is my preferred application obviously because it IS a database, it is built to handle this and the SQL queries, and is suited to my needs. You may like to use Excel but I don't know how complicated it would be to build a form with VBA. Although, making a form with Access still requires work.
posted by Enki at 12:35 PM on February 18, 2011

FileMaker Pro makes it easy even for mere mortals to set up nice databases without knowing much at all.
posted by a humble nudibranch at 11:38 PM on February 18, 2011

« Older renting out your house   |   How to develop and Ipad app with no programming... Newer »
This thread is closed to new comments.