Database normalization is a concept defined by an IBM computer scientist in E.F. Codd in 1970.
Normalization is achieved by following the rules of first normal form through sixth normal form.
Now for the good stuff. Normalization is used to reduce errors and dependencies within your database. By designing your database to follow the normal forms, a database is more flexible, easier to maintain and less likely to have data related errors (due to dependencies) later.
I have spent a large amount of time looking for a resource that can simplify the concept enough for a layperson, but technical enough to actually walk someone through the process. I recently assisted an intern in understanding this concept.
After many attempts, the all-around best resource was a Lynda.com course titled:
“Foundations in Programming: Databases” Chapter 5. Database Modeling: Optimization.
Comments are welcome: If you have any other resources that clearly explain the concept of Normalization, I’d be glad to hear about them.
My IT guy at work shows me websites all of the time. Some are really cool, some are really helpful and some… Well, some are just to good to not share.
The site I want to share is called coderbits.com. It’s a website (currently in beta) designed to track various social networks, user forums and software training sites and aggregate your personal participation in a single location. This can be used by prospective employers to verify your coding skills match what’s listed on your resume! In the last few weeks, I’ve assisted in a few interviews for various positions and struggled with assessing their computer skills. If this site was mentioned on a resume for me to verify their information, that candidate would have made the choice much easier.
p.s. Dear Coderbits, if you run across this blog post, please consider adding Microsoft PowerShell, VBA knowledge and ExcelForum.com to your site list (if that’s possible). Otherwise, You guys have an AWESOME site. keep up the great work!
As I mentioned in a previous post, I’m learning Python. I have many resources that I’m using at this time. A couple of text editors, a couple of different IDEs, four different books, and a couple of websites. Today, I’d like to talk about one of the websites: Codecademy.
- It’s free
- There is a large number of lessons available (covering many languages including Python)
- The lessons are split into bite size pieces
- There is a field to write and run your code directly on the website
- There is a large user base. This translates into an active community in the Q&A section (This is where you go for help when you’re stuck on a lesson).
- The version of Python taught is 2.6 or 2.7. Python 3.0 was released in 2008.
- The lessons and grading are inconsistent. Some Instructors leave out important information which leaves students scrambling for the Q&A section.
- The grading mechanism is flakey. The instructors decide what tests to run on a student’s code. Sometimes, a lesson will pass when it’s clearly flawed and sometimes they will fail working code.
- There doesn’t appear to be any sign of instructors reviewing or updating lessons that are buggy or broken.
- There’s no way to let Codecademy know that there are bugs. (I assume they removed that feature after being overwhelmed by notifications).
- The site doesn’t run on Internet Explorer
On the balance, it’s a decent site to learn Python. It’s one of the best that I’ve found so far. In the future, I’ll try to list the other resources I’m using to learn.
Here’s a link to a great site that shows a lot of tips and tricks for creating charts and reports. Some of the posts explain formatting topics and some show how to automate various processes. The first time I went to this site, I learned how to automate chart titles. It might seem like a small thing, but I probably spend 10 minutes a week updating chart titles. That adds up to roughly 500 minutes per year (or 8+ hours). I literally saved myself a day’s worth of time annually by automating the chart titles. Little things like this can add up for huge time savings.
Check them out.
A little bit about me. I am the Special Projects Coordinator for a second tier defense contractor. I’m under legal agreement not to divulge any proprietary information about clients or company related information. What I can talk about is the types of problems I run into on a daily basis and the solutions that I’ve derived. I never know what the day will throw at me. In a week I might build a Crystal Report for the contracts department, Run our weekly financial reports, work with a software developer to automate some manual process, research software, track projects for other people, automate part of our WIP, and train new employees. Those are just the big items. I might also repair a desk, haul documents to storage or teach the intern how to build a Gantt chart.
Currently, I spend a lot of time working in Excel and Crystal Reports. I am also learning the programming language Python.
If you post a question in the comments, I’ll try my best to answer them. Heck, I may even make a post about it.