Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Database Theory class (online or live)

Status
Not open for further replies.

03Explorer

Technical User
Sep 13, 2005
304
US
I live in Minneapolis and am interested in a good class to learn database in theory. Meaning I want to build databases, platform independant, but go through the process of developing the back end (tables and relationships) to an interface (ms access, web or VB). The problem I am finding is that many avenues I approach expect some kind of basic knowledge that I don't seem to click and would be interested in learning in a more structured environment (ie classroom or online --either way paid for education).

Thoughts or feedback?

My intent is to build databases not focus on independant platforms or programming languages.

Thanks
 
Check with local community colleges to see if they offer any type of database management courses. You will more than likely be using a specific DBMS for examples or exercises, but from my experience in college, its close to ANSI compliant because there is no need to delve into SQL dialect specifics to learn the principles of normalization.
 
That is what I was anticipating on a response, looking into local community colleges for classes. From experience, is this a multiple level course or does that depend on how in depth I want to get in developing?
 
I'm sure the curriculum varies from college to college or state to state for public institutions. However, in my personal experience, the database area was different than the programming area so to speak. I don't recall any "intro to databases" which would be a prerequisite to "advanced programming in Oracle."

I took two database management courses, and they were very similar--teaching principles of database design and queries with somewhat real-world examples. One of them relied on Access and SQL Server and the other Oracle. However they were not Access or Oracle courses. They were database courses. I would compare them to the Systems Analysis and Design courses I took -- but a little more technical. Another course I did take was a one credit hour Access course. However, it was designed more for the office user who isn't writing advanced SQL statements or VBA.
 
I have already taken all the New Horizon (or what ever the training company name is now days) for MS Access 1, 2, 3 and VBA training. It *is* intended for the office user, not a person who wants the nuts and bolts on theory and design concepts. I have a feeler out on my old univerisity back home (just because of transcript reasons) as a first choice. Thanks for the feedback and I agree the platforms used in the theory classes are not for purposes other than an environment to teach from, not how to use in depth.
 
My view is it is a staged learning process:
1)Database design, and normalization concepts.
2)Learn SQL
3)Learn database api for your desired programming language

I believe if you search for each topic in the search engine, you should be able to crack it;
there is a course in the Open University in UK ( Relational databases; this would be quite useful
 
I've taught database courses and I have found that approach to be flawed. Usually if you start with design and normalization, students get confused. I started with simple query concepts (the basics of Boolean algebra and joins) and once they understood what a database was used for and how to get data out of it, the design and normalization sections were far easier for the students to grasp. Design and normalization are far more complex concepts than select * from table where state = 'ca' and it helps a lot to give students some confidence before approaching the harder topics. Plus many people who need to query databases will design them. Boolean algebra and joins are the first two concepts anyone querying a database needs to understand. Joins lead naturally to a discussion of normalization.

"NOTHING is more important in a database than integrity." ESquared
 
I have to agree with SQLSister. We are talking about relational databases, and SQL is the de facto standard language. The concept of an existing table is easy to grasp: work with one, then approach the more abstract ideas. Let people like Codd do the heavy lifting. :)

(You'd be surprised by how many people will not understand the difference between AND and OR.)
 
Knowledge of SQL queries also was assumed. My intentions are to understand the 'correct' method of design of databases and what reasons make it correct.
 
Well, then, it's up to you to ask questions in class. If it doesn't "click" for you, then others are probably similarly lost. If everybody remains silent, the instructor won't realize that she needs to fill-in-the-blanks for you.
 
My understanding of database design:
1. Data storage
2. Data integrity & consistency
3. Ease of data manipulation
4. Usability [need to achive the right balance between normalisation and usability]

Normalisation - is a important to allow data integrity, ease of data update without having to manually change the data in all tables.
enforcing business rule with referential integrity.
These I believe comes with practice and requirements analysis.

Hope I am not out my depth
 
Hi obadare,

You are on to the point... but what I am looking for is the source of a solid foundation in learning db design. How much is too much Normalization? Relationships, do you build the database with relationships at the back end so queries are not all about rebuilding relationships but rather a tool to extract data? Hmmm... that brings a question. I have built databases in MS Accss where at the table level I make relationships. If I pull the tables into a query, the relationships exists. Is that an Access thing or can you build a MS SQL, MySQL, Oracle, etc platform where at the table level a relationship exists?

Does anyone have any good books for learning the theory of db design along with good 'lab' or hands on examples to put the theory into black and white?

Thanks for the help everyone!
 
Relationships are a feature of all RDBMS.
In SQL this is created by specifying a foreign key:
Code:
create table product_type(id int primary key,name varchar(100));

create table products(id int primary key,
  type_id int not null references product_type(id));

this create a relationship between the 2 tables.
Try this link:
 
You may find this a good read:
It should get you started, and maybe give you a starting-point to learning on your own. If you do decide to take a class, it would still be good to read this beforehand so you have a better idea of what you're getting into.

Hope this helps,

Alex

[small]----signature below----[/small]
Majority rule don't work in mental institutions

My Crummy Web Page
 
I remember little helper things like.

Tell The Truth.
Tell the whole truth.
Tell nothing buth the whole truth.

It is an analogy for Database design.

Describe the key.
Describe the whole Key.
Describe nothing but the whole Key.

After Third Normal Form Database theory and Design gets kind of fuzzy. One problem I saw is you really have to know more than how a database goes together. You have to know how business computer systems attempt (in theory) to enforce and apply business rules.

There is this link between systems analysis and database design and how you approach the concepts needed to develop a system. The development approach to the high level object model can be more important to the data model. You have to develop the Business Requirements before you can develop a data model. There are different techniques to do this.

When I took some courses at a local well-known University, a requirement for Database Design was a basic course in Business Computing Systems, and its sub-systems, and learning how they worked together. They also had a class of some kind that was all about file and storage systems that I did not take.

In reality, not everyone will be developing database designs. I guess it depends on your environment and how much your ogranization has to spend on the development process. A lot of people will just be tweaking existing systems, and trying to stay ahead of mandatory software updates to keep current. People that propose big system redesigns are often the same people who will be ther first to be fired when something goes wrong. So it is sometimes safer to not promote too much change.

If you do not like my post feel free to point out your opinion or my errors.
 
i took an online class at a major university that offered DB1 and DB2, which for me was great because it was like independent study, only you had a textbook, an instructor and a peer group to communicate with. So much of what I do as an info sys guy is self-guided research anyway, that I really don't see how a live classroom setting could really be that much more helpful.

Anyway, I learned a lot. The combo of self-paced study with an option to interact was extremely useful to me.
 
NuJoizey,

What is the name of the online school you took the class from? I am interested.

Thanks
 
I'm at Drexel University about 3/4 way thru a masters program in info systems. My undergrad was in finance, so I am finding the base courses provided in a university level program to be of great use to me. They do not focus on one platform or another, but rather the fundamental concepts, which should be applicable to whatever system you use.

I chose Drexel for several reasons, one of which is that it is close to where I live, and I can get to campus for some of the other courses and to meet with profs, etc. I would recommend them, although they are not cheap - but I don't think they are unique in that regard.

I know there are other schools that offer decent online IS programs, I think Boston Univerisity has one, but if I were you I'd check around your local university scene and see what they are offering in terms of matriculated and non-matriculated education.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top