Database Principles Part 2

BIS
2 min readFeb 8, 2020

There are a number of important principles must be considered for any software application using a database.

  1. Availability
  2. Scalability
  3. Consistency
  4. Concurrency
  5. Atomicity
  6. Referential Integrity
  7. Network Latency
  8. Structured Object
  9. Performance
  10. Security

When building any application from scratch one must bear all these 10 steps before embarking on any development.

Developer tends to think database as a separate entity and outside the normal agile or development activities. For a project or development to be successful one must ensure the same due diligence must be carried out on database development as a project itself.

One of the common mistakes amongst developer is rolling out schemas from sprint to sprint. As application changes along with your business objects will change both will require agile style incremental development. One must do incremental changes rather than waterfall style changes.

How would you do incremental changes, for instance adding an extra column should consume no overheads but is it true. What it takes to add a single column in an incremental way.

Adding a single column would require a number of changes, firstly a field must be available in the business object. A field in the business object must be mapped to the database column.

Is this sufficient?

What happens to old rows in the table with a new column. How are you going to decide a default value?

We will need some kind of incremental schema. We may need to update all the old fields and other corresponding fields magically. All of these will require Maintainance and due diligence for production.

Another important and relevance is column security. How do we provide suitability or functionality for securing column? How do we provide restrictions?

How does the column relate to other column and more importantly to other tables in a schema? This is where referential integrity plays a role. If a new column affects another part of the table. All of these considerations and constraint needs to be in the place for agile database development.

Hence database development seems simple but a lot of items needs to be considered for correct and right development. We will discuss all the 10 items in future articles.

Please visit Business Integration Software to see various products using databases especially Online Exam Software.

Online Test Software

Exam Software

Examination Software

Question Bank Software

Online Exam Software

Online Test System

Online Examination Software

Online Assessment System

Assessment Management Software

Multiple Choice Question Software

Examination Management Software

Exam Management Software

Examination Management System

Exam Management System

Online Examination System

MCQ Software

Online Assessment Software

Test Management Software

Online Assessment Software

Exam System

Examination System

RHEED Software

MLM Software

Service Management Software

Online Timesheet Software

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

BIS
BIS

Written by BIS

Specialist in Cloud Native development

No responses yet

Write a response