Skip to content

Rules of Persistence Layer (DB Schema and SQL) and Git Process Meeting Minutes

Meeting Info

Date 2022-06-02
Topic Rules of Persistence Layer (DB Schema and SQL) and Git Development Process
Attendee Calvin Yan, Rocky Chi, Daniel Zhou, Ted Zhao, Jackson Liu, Albert Wang
Note Taker Rocky Chi
Timer Jackson Liu
Duration 90 minutes

Meeting Agenda

  1. Summary and finalize part of persistence layer rule (20 minutes)

    • brainstorm about the best way to collect our thoughts (PR, survey…)
    • finalize Database rule
    • finalize SQL rule - I will send out another survey tomorrow
  2. Discussion on best practice of git development process (20 minutes)

Meeting Minutes / Action Items:

Summary and finalize part of persistence layer rule

  • DB Schema rule survey result:

db-schema-rule

  • SQL rule survey result:

db-sql-rule

  • Results for controversial rules:
Rule Name Result Comments
Define table name as [table_business_name]_[table_purpose]. Recommend
Try to define database name same with the application name. Recommend
Update column comments once column meaning is changed or new possible status values are added. Mandatory
Appropriate char column length not only saves database and index storing space, but also improves query efficiency. Recommend
Business logic related procedures are not allowed. They are difficult to debug, extend and not portable. Mandatory added a precondition: only suitable for Business logic related procedures
IN clause should be avoided. Record set size of the IN clause should be evaluated carefully and control it within 1000, if it cannot be avoided. Mandatory / Recommend run execution plan before evulation: if the index invalidation, then don't use in.
characters should be represented and stored with UTF-8, and be cautious of character number counting. Recommend remove precondition on i18n case.
TRUNCATE is not recommended when coding, even if it is faster than DELETE and uses less system, transaction log resource. Because TRUNCATE does not have transaction nor trigger DB trigger, problems might occur. Recommend think before you delete

Git Development Process

  • Do not make your branch long-lived.
  • Develop the feature based on your own fork.

Additional output

  1. Timer has the right to control meeting duration, incase overdue.