Answers to database design questions by Temitayo Ilori, Berea, Ohio
Date: 3 January 2015
Please explain (or briefly describe) the general philosophy behind your database design approach.
I believe what is worth doing at all is worth doing well. So, when it comes to database design, I don't design database just to get by; I design efficient database organized in a logical model.
What is something you have seen done repeatedly in database design work done by others people which you find to be particularly annoying or detrimental?
A lot of people create database that has anomaly (insertion anomaly, deletion anomaly and modification anomaly). This will create a huge problems when working with the data. Some other databases don't conform to one or more of the first normal form, second normal form, third normal form and the Boyce Codd normal form. These end up being inefficient.
The solution to this is to test the database design for all of the above-stated normal forms. If there is a violation of any of them, the error should be fixed before the data is added to the tables.
Some people don't consider the attributes of the data when creating tables - this include the cardinality and optionality. If this is not considered when creating tables, there will be problems with linking tables. The same thing also happens when there is not unique identifier (key) for each table.
One other thing that can help prevent error is to first create an Entity-Relationship Diagram before creating tables. This will help guide with the database design. If you want this, I can do it with Oracle (I have access to Oracle 11g).
Given that you are database specialist, how does what do you while creating your database architecture save clients time and/or money?
Taking time to create database architecture helps prevent the problems of data redundancy and inconsistencies, which constitute a waste of time and money.
Where do you live?
I live in Akron, Ohio
Briefly describe your pertinent work and/or educational background.
I have MBA and I’m working on a second Masters in Information Systems Management. I work as an Instructional designer/ Project Manager
What are the industries you have the most experience working within?
Education, Manufacturing and Consulting.
Your rate is higher what other programmers and freelancers charge. How does what you do with database design save clients and companies money in the long run?
I design an efficient database that is consistent and easy to use. No duplication of data and null values are minimized.
You have special expertise in database design. How is what you do different from what a generalist computer programmer might do when it comes to creating a database back end?
The database I design have data integrity and there is no data redundancy.
Describe how the database design work you do now is similar to or different from "textbook database design," such as one might learn in college or read in a text book or software manual.
If need be, I first design and ERD and I make sure the tables conform to the normal form and the dependencies are okay. Then I use a database transformer to convert it to a relational database.
I design database to suit the need of the client and the intended use. I consider these two factors in deciding the relationships between tables.
What is the biggest example of a "rule" you routinely break? (Or another way of putting it is: what popular tradition are you most likely to depart from, if any?)
A lot of textbooks teach that referential integrity should be avoided most of the time. I break this. I always enforce referential integrity. It helps to avoid inconsistency of data.
What RDBMS have you used extensively, or are at least somewhat familiar with based on first-hand experience?
MS Access and Oracle Database
Given an assignment to create a website from scratch for Company X, what RDBMS are you using? (website specs: principle table has 10,000 rows and will grow to 200,000 over next five years; admin back-end, general browsing, user logins; no more than 100 concurrent users)
MS Access or Oracle Database, depending on what suits the client
What tools would you be using? (IDEs, code editors, database design tools, if any)
Table names: plural? singular? or something else? why?
Singular. Reasons: For consistency and convenience
How do you name your primary identity fields?
I name it in such a way that it shows it’s a primary kei, e.g “IDNO”
If you use stored procedures, how do you decide to use them or not use them? What are your alternatives?
If vendor can change, don’t use them. Alternatives involves the inclusion or exclusion of parameters.
Why would a client who needs database design work done be making a wise move to hire you (if you're available)?
I create a high performance database that makes it easy to input data, manipulate data and retrieve data. It conforms to all the normal forms and the dependencies are normal. The relationship are not too complex.