Skip to main content

​THE INTERVIEWEE WHO HATED ME​

6 years ago a guy looked at me face to face, and boldly told me; "I don't like you!" I immediately fired a response, I asked him that day; "Thank you for the honest feedback, but those that you like, how has it made their life better? How does your liking people pay their bills or take a bank loan? My brother keep your like, I need God's like And that's what guarantees my future. Today I joined a CEO friend of mine in an interview Panel to recruit some new staff, it was a long session, as we returned from a coffee break to continue the hectic interview session, here was this same guy walked in with his grey jacket and CV coming for the interview. Our eyes kissed by fluke, we immediately recognised each other; "the world is indeed spherical", I soliloquized. He felt very uncomfortable through out the interview, one could clearly see the volcanic eruption ongoing in his whole nervous system, he even mistook his date of birth for his last date of empl...

Database design best practices

  1. Use well defined and consistent names for tables and columns (e.g. School, StudentCourse, CourseID ...).
  2. Use singular for table names (i.e. use StudentCourse instead of StudentCourses). Table represents a collection of entities, there is no need for plural names.
  3. Don’t use spaces for table names. Otherwise you will have to use ‘{‘, ‘[‘, ‘“’ etc. characters to define tables (i.e. for accesing table Student Course you'll write “Student Course”. StudentCourse is much better).
  4. Don’t use unnecessary prefixes or suffixes for table names (i.e. use School instead of TblSchool, SchoolTable etc.).
  5. Keep passwords as encrypted for security. Decrypt them in application when required.
  6. Use integer id fields for all tables. If id is not required for the time being, it may be required in the future (for association tables, indexing ...).
  7. Choose columns with the integer data type (or its variants) for indexing. varchar column indexing will cause performance problems.
  8. Use bit fields for boolean values. Using integer or varchar is unnecessarily storage consuming. Also start those column names with “Is”.
  9. Provide authentication for database access. Don’t give admin role to each user.
  10. Avoid “select *” queries until it is really needed. Use "select [required_columns_list]" for better performance.
  11. Use an ORM (object relational mapping) framework (i.e. hibernate, iBatis ...) if application code is big enough. Performance issues of ORM frameworks can be handled by detailed configuration parameters.
  12. Partition big and unused/rarely used tables/table parts to different physical storages for better query performance.
  13. For big, sensitive and mission critic database systems, use disaster recovery and security services like failover clustering, auto backups, replication etc.
  14. Use constraints (foreign key, check, not null ...) for data integrity. Don’t give whole control to application code.
  15. Lack of database documentation is evil. Document your database design with ER schemas and instructions. Also write comment lines for your triggers, stored procedures and other scripts.
  16. Use indexes for frequently used queries on big tables. Analyser tools can be used to determine where indexes will be defined. For queries retrieving a range of rows, clustered indexes are usually better. For point queries, non-clustered indexes are usually better.
  17. Database server and the web server must be placed in different machines. This will provide more security (attackers can’t access data directly) and server CPU and memory performance will be better because of reduced request number and process usage.
  18. Image and blob data columns must not be defined in frequently queried tables because of performance issues. These data must be placed in separate tables and their pointer can be used in queried tables.
  19. Normalization must be used as required, to optimize the performance. Under-normalization will cause excessive repetition of data, over-normalization will cause excessive joins across too many tables. Both of them will get worse performance.
  20. Spend time for database modeling and design as much as required. Otherwise saved(!) design time will cause (saved(!) design time) * 10/100/1000 maintenance and re-design time.
read more.

Comments

Popular posts from this blog

​THE INTERVIEWEE WHO HATED ME​

6 years ago a guy looked at me face to face, and boldly told me; "I don't like you!" I immediately fired a response, I asked him that day; "Thank you for the honest feedback, but those that you like, how has it made their life better? How does your liking people pay their bills or take a bank loan? My brother keep your like, I need God's like And that's what guarantees my future. Today I joined a CEO friend of mine in an interview Panel to recruit some new staff, it was a long session, as we returned from a coffee break to continue the hectic interview session, here was this same guy walked in with his grey jacket and CV coming for the interview. Our eyes kissed by fluke, we immediately recognised each other; "the world is indeed spherical", I soliloquized. He felt very uncomfortable through out the interview, one could clearly see the volcanic eruption ongoing in his whole nervous system, he even mistook his date of birth for his last date of empl...

All About Opencart: Add table prefix in mysql database for opencart

All About Opencart: Add table prefix in mysql database for opencart : Shared::: Add table prefix in mysql database for opencart If you ever install an opencart without table prefix, you'll get troubles when using some custom modules. (Especially with the table ORDER, RETURN and OPTION. Because that is same as MYSQL Syntax., you'll get error when calling such as "SELECT * FROM ORDER") Here is what you do to add prefix on the table. Enter the database you want to change the table prefix. put below command in SQL Tab and run it. Just change the RED one. Example :  my_prefix_  into  oc_ and  my_database  into  yourdatabasename SELECT   Concat ( 'ALTER TABLE ' ,  TABLE_NAME ,   ' RENAME TO  my _ prefix _ ' , TABLE_NAME ,   ';' )   FROM  information_schema. tables   WHERE  table_schema  = ' my _ database ' run it in SQl Tab in PHPMyadmin. Copy the results. (Don't forget click Show All, to see all...

Canton Jones - Hallelujah ft. Deitrick Haddon, DPB,

Lauren Daigle - O' Lord (Radio Version)

You're Bigger by Jekalyn Carr (Live Performance) Official Video

Eulogy | How could you leave us?

I feel this.The only difference is mine is a dad, minus pills. I lost my dad. Hard to keep up  with. Thanks for a place to let it out. Hard to keep it in. Harder to tell a story. Just write down what you're thinking n feeling +Patrick   (not everything though)  Can't use a past tense..I love my dad. I told my dad I loved him once, and it felt awesome. Had never done. I've never told my mum that I love her. I think I need to. I felt so bad...I've never wanted the news bearer to be as wrong as that day. I thought of praying and raising the dead, but just couldn't do it. Science said no, God let it happen. He has reasons. Can't question. NF kinda painted it for me. Honestly, some things can't be forgotten. Can't be undone. Can't be replaced. The only thing I have are precious last moments and advices. Specifically the last thing I did is share a cup of tea in my room. If you're watching Dad, I'm not looking back. I'm matching forth...

Imagine - John Lennon and The Plastic Ono Band (with the Flux Fiddlers)

Skillet - Set It Off [Official Audio]

THE REAL REASON WE USE LINUX

We tell people we use Linux because it’s secure. Or because it’s free, because it’s customizable, because it’s free (the other meaning), because it has excellent community support… But all of that is just marketing bullshit. We tell that to non-Linuxers because they wouldn’t understand the real reason. And when we say those false reasons enough, we might even start to believe them ourselves. But deep underneath, the real reason remains. where there's shell, there's a way__ We use Linux because it’s fun! It’s fun to tinker with your system. It’s fun to change all the settings, break the system, then have to go to recovery mode to repair it. It’s fun to have over a hundred distros to choose from. It’s fun to use the command line. Let me say that again. It’s fun to use the command line. No wonder non-Linuxers wouldn’t understand. The point with us Linux fans is – we use Linux for its own sake. Sure, we like to get work done. Sure, we like to be se...