Archive forJune, 2005

Referential Integrity, WTF?

It’s a beautiful thing, referential integrity, when used properly. It provides such power and stops situations like the one that I am currently dealing with at work from eventuating.

A few months ago we launched a redeveloped version of most of our core systems at work. I didn’t feel it was ready for launch, but we won’t go there now. At the time we launched we imported all records for the current financial year. I always believed that we needed to have all information across, but management decided that it wasn’t.

1 week before the end of the financial year I was informed that the auditors that we had in had informed management that we had to have all the information across, and that I had to have it done before the end of financial year. FUN! NOT!

Any way, to cut a long story short I am now trying to pick the last few pieces of information up out of the old system and pull it into the new one. I’ve gotten 98% of it done and these last 100 are annoying the hell out of me. Or rather, the lack of any form of referential integrity on the database is annoying me. I’ve got orphaned data in the old system that I have to find some way of pulling into the new one. The only answer I could use was to create dummy records for the deleted information and to map the orphaned data to the dummy ids. This is not ideal, and I personally think it’s a bit of a “dirty hack” to borrow another developers favourite phrase.

The old system was a mishmash of technologies over a postgresql database. It’s not like we couldn’t have foreign keys in the system. Hell, even access supports them, and in my current situation I would have prefered an Access system with foriegn keys over the postgres one without.

To make matters worse, we’re migrating to a single platform. DotNet over Oracle. This should be much better, but no it’s currently no better - at least from where I sit. The problem is that the developers that were the initials on this project didn’t implement foreign keys in the database.

I’ll have the last laugh though. Eventually propper foreign keys will be implemented on the system and the developers here that dont like it will just have to get over it. If I am to be responsible for the database, and I believe this is what a DBA is responsible for, I am going to ensure that we are making the best use of the power and functionality that it provides.

Comments (2)

Who are you holding for?

I just received a somewhat strange phone call. My phone starting vibrating and flashing, and looking at the number displayed I reconized the phone number of a client. I answered the phone expecting questions about the new webhost that we just switched them to, instead I got their on-hold message.

I thought this was a little strange, but nothing to worry about. I waited patiently for about 1 minute until someone picked up and thats where it got weird. I was asked who I was holding for. I said that I didn’t know as someone had called me and I was straight on hold. A short back and forth with the person on the other end and we decided it must have been an accidental call and instead of hanging up the caller had accidentally put me on hold.

Oh well, no harm, no foul!

Comments

Intelligence and problem solving skills a plenty

It still amazes me the level of intelligence displayed by some people. I’ve seen some weird attempts at problem solving recently, but the example I spotted in the toilet at work is just priceless.

The soap dispenser in the toilets is one of those ones that holds 2 packets of hand soap and has a slide to chose which pack is being used. Recently I’ve noticed that instead of refilling the unit with the correct soap refills they have put 1 big bag of soap. Sometimes this is fine, however at the moment the soap simply isnt dispensing properly. You have to pump the handle about 20-30 times before it starts to dribble out. If you want a decent amount of soap, just keep pumping. Problem is, once it is dribbling out it keeps dribbling out for ages. This creates a puddle of soap on top of the counter, and it appears that this is staining the counter.

Personally, if I was faced with this problem, I would look at the dispensor and attempt to re-insert the soap bag. Whoever dealt with this problem is obviously not a problem solver. Their answer, a small plastic container to collect the soap as it dribbles out.

Comments (1)

It’s all a coincidence.

How’s this for a strange week?

Saturday 2 weeks ago our washing machine died. We probably could have gotten it looked at and repaired, but armed with a desire to get a more efficient front loader and the knowledge that we had already had the mainboard in our existing machine replaced we decided it was time to purchase a new one.

We had plans for the morning/day and were either going to go shopping for the new machine that afternoon or on Sunday. While we were up in Brisbane we got a phone call from Stacey’s mum. She wanted to know if they could come around and borrow our washing machine because theirs had just failed and the new one they had purchased was not being delivered until Monday.

A small coincidence, and a bit of a laugh for both of us.

The battery in our car died Wednesday night last week. I had to wait for the RACQ guy to turn up and jump start me so that I could get home. I was worried that it might have been the starter motor or the alternator. Thankfully my fears were unfounded and I was on my way. Stacey emailed her mother the next day to inform her of the death of our battery, only to be informed that the battery in their car had just died that morning.

Freaky! Seeing as these things usually happen in threes I’ve been waiting to see what would be next. So far nothing has happened and I’m not going to get surprised either way really.

Comments (1)