Oy! For all the people who voiced an opinion FOR de-normalization of data, don't ever go into software. Your ideas on how best to design a database will get you skinned at any company that revolves around data.
Multiple tables makes perfect sense for single entry screens. It's a database and tables are not single objects or screens, they usually represent elements of an object and are related to each other through a key (Therefore Relational Database).
Yes, customers should be split into multiple tables, so as to negate the need to expand the table when new data is needed and to avoid having to impose arbitrary limits on data that might exist in a plurality (How many phone numbers or email addresses do you have?) or wasting space storing x number of empty fields for that same data when a plurality is not in existence. (wow that was a really long sentence)
In modernly recognized good software design, Storage, processing and display are decoupled so that anyone might be more easily replaced when newer technologies are needed. For example, why write a whole new healthcare registration system when someone decides to write an app for that, its much easier just to write a UI and hook into the existing processing system. Or why buy a new inventory management database for online sales when you already have an in-store database hooked to your point of sale?
Also, mainframes? Really? Only a few a year are sold, and I've yet to experience any for web serving.
Maybe you mean rack mounted servers and/or blade servers? Highly paralleled processing and scale-ability are more useful for web services.
Sorry to get pedagogical on you, but these things are how people who come to me with "fix my computer, its got a virus" yet never do anything to acquire it (I.E. that's not MY porn) talk about technology they have no experience in. I'm more raving about them than you. So the next time I make some misinformed assertions on the field you work in, feel free to rant at me and disabuse me of my misconceptions.