Mike Sherrill 'Catcall'

less info
4,422 reputation
620
bio website
location United States
age 57
visits member for 2 years, 2 months
seen yesterday
stats profile views 106

Long-time database design and software development consultant. My clients included evetrything from Fortune 100 companies to non-profits and mom-and-pop companies. I've worked with SQL databases since 1985. I'm a database generalist; I'm comfortable with every modern SQL dbms. My home server runs a half-dozen different database management systems. I test most of my answers under more than one of them.

I've also developed relational models for implementation in non-SQL environments, like Lotus Notes and plain C++ code.

I'm known for frequently saying

  • ID numbers have nothing to do with normalization.
  • Everything you know about state codes is wrong.
  • Table names, column names, etc., are your database's API.
  • Natural keys reduce the number of joins, and often improve performance.
  • 5NF is your friend.
  • Don't assume. Test.

Apr
15
comment Database design: Dividing multiple identical tables, good or bad?
If you're confident in your data entry people, you can drop the check constraint for "area". In general, the more "flexible" your situation, the more tables you need to keep out bad data.
Apr
15
revised Proper indexes or anything else to optimize
Faster hardware.
Apr
14
comment Database design: Dividing multiple identical tables, good or bad?
Thank you, Sid. I hope you know that I'm going to quote you on my CV.
Apr
14
awarded  Enlightened
Apr
14
awarded  Nice Answer
Apr
14
answered Proper indexes or anything else to optimize
Apr
14
comment speeding up a query on MySql
Which columns are varchar(200)? The source columns or the target columns? GROUP BY on 10 million rows will probably take a while.
Apr
14
revised Database design: Dividing multiple identical tables, good or bad?
Extended examples.
Apr
14
revised Database design: Dividing multiple identical tables, good or bad?
Extended examples.
Apr
14
answered Database design: Dividing multiple identical tables, good or bad?
Apr
13
comment Functional Dependencies and Normal Forms
Are you being asked to determine the normal form for the relation R{ WX Y Z }, or the normal forms for { WX Y }, { WX Z }, and { Y Z }? (When you write "determine the form of:...", the of usually refers to whatever comes after.)
Apr
12
comment How database administrators can see my requests to MSSQL server?
"Is there any other ways to see my activity?" Who cares? Are you trying to keep your activity a secret from the sysadmins?
Apr
11
comment Column or new table
Third normal form has to do with transitive dependencies. It has nothing to do with whether you store a school's name or its id number. (ID numbers have nothing to do with normalization.)
Apr
11
comment IP Address lookup star schema design
If I were in your shoes, I'd also want to test MySQL performance against PostgreSQL and its inet or cidr data type.
Apr
11
comment DB2 PureScale on Linux
I think asking IBM would give you a more actionable answer.
Apr
8
revised How to enforce full integer (no floating point)?
Cite 1992 SQL standard.
Apr
8
revised How to enforce full integer (no floating point)?
Added DDL.
Apr
8
answered How to enforce full integer (no floating point)?
Apr
8
comment Object-oriented programming CRUD design pattern
MySQL is the least standards-compliant, client/server dbms out there. When you're trying to do something that works well and easily on PostgreSQL, Oracle, and MySQL, you'll constantly get poked by MySQL's behavior.
Apr
7
answered Object-oriented programming CRUD design pattern