Giving back to the community & Free Goodies

I have learned a lot from the community and it’s my turn to give back to the community now. I am available (free of cost) for 30 mins consultation for each week.
Where can I help ?

I worked on these areas extensively and I would like to offer help.
1)    Continuous Integration / Continuous Delivery for BI applications
2)    Deployment automation
3)    Building test framework

How does it work ?
You can contact me on using the “Contact me”  page on my blog. I recommend you to write few lines about the problem you are having in your organisation. This will enable me to understand whether I can be of any help. If I can help, then I will let you know the date and time for a 30 min call.

During this call, I will share my thoughts and may propose a solution. This may not resolve all your issues. But at least it will give you a direction to proceed.
After the call, I will write a blog post about the problem and the suggested solution. This would help others, if they come across the same issue.

Few rules:
1)    Provide an official mail id for communication. I am committed and serious about this initiative and I expect the same from you
2)    Time duration is strictly 30 min
3)    No training or Career counselling during this time

Null – Special Data Value

What is NULL ?

Null denotes that a data value which is not exist in the database. The term “NULL” has been coined by E.F.Codd.

Null usually represent Inapplicable or Missing information in the system. In SQL Server NULL is a keyword/reserved word.

 

Is Null as same as Zero ?

No, Missing or inapplicable information can’t be assumed as Zero value.

 

The price of a product can be a numeric  value or “Don’t know the price”. If we don’t know the value of price then it will be classified as null.

 

NULL Keyword

SQL server uses the keyword NULL to differentiate among other data values.

 

A simple example to understand about null

 

SQL  Code Snippet:

Declare @tabEmployee table (ID int, Namenvarchar(255), Department nvarchar(50), Salarydecimal(18,2))

 Insert into @tabEmployee (ID,Name,Department,Salary)

values (1000,’Sam’,’Sales’,50000),

(1001,’Mark’,’Operations’,Null),

(1002,’Tom’,Null,70000),

(1003,’Nancy’,”,90000)

Select ID ,Name,Department,Salary from@tabEmployee

 

Null for numeric data type:

Salary_Null

It has been observed that we don’t have the department information about the employee Mark. Hence a null has been presented to denote the missing information.

 

Null for string data type:

Department_Null

As we don’t know the  Department name for the employee Tom, it has been represented as NULL.

 

How to compare null value ?

As null is a special data value , it is not possible to compare using the equal sign.

Null_Compare

Hence we need a special operator to handle values with NULL. The “IS NULL” operator will be useful to compare against the NULL data values.

IS_NULL

The operator “IS NULL” can be used for string data types as well

IS_NULL_String

Is zero length string  or blank value is as same as Null ?

No,  The below mentioned query and result set confirms the fact that only nullable values can be compared using “IS NULL”.

NULL_Blank_String

Learn more about SQL Server

How do we improve our SQL knowledge and access what we know ?

The following links will help to improve SQL Server knowledge

http://www.sqlservercentral.com/

You will learn about a specific topic in SQL Server. The stairway series are an excellent way to accelerate knowledge in no time.

 

https://www.mssqltips.com/

You can find a solution to an uncommon problem here. Quick and easy to read tip in a page.

 

http://blog.sqlauthority.com/

An SQL server encyclopaedia !. I can’t even imagine how he is able to write about each and every feature about SQL server.

 

Joes 2 Pros Book Series

A SQL book has been written in easy to understandable format. I love Rick Morelan’s examples for every concepts.

 

http://beyondrelational.com/puzzles/

The SQL puzzles are a great way to access your knowledge. Its fun J. Take a challenge a day to improve your confidence.

 

Online SQL Test

I have written a post about online SQL Test

Continuous Integration for SQL Reporting Services

Problem:

What is continuous Integration and how this can be leveraged to enhance productivity for SSRS Report development?

Solution:

Introduction:

Continuous Integration is a software practice of merging developer code into shared mainline repository different times a day.

Continuous Integration is an iterative process, in which we build, run test cases and deploy the components to validate the changes made by the developer. The developer will be notified with the results as soon as the changes have been made. This helps the developer to test the components as he/she develops.

Source Code Checkout for Build :

The CI framework (Build Plan) will checkout the source code from the source control. This code base will be built and the developer will be notified the outcome immediately. This helps the developer to fix the bug as soon as the changes have been checked-in. The build can be manual, scheduled or event driven (Based on the changes to code).

Validate the build:

The build can be validated by running a set of test cases. The success or failure of the test cases will help to validate the changes.

Test as we develop:

All of the above mentioned steps will happen in a short period of time (depends on the volume of the build assets). This helps to fix the bugs during the development.

Users of Continuous Integration (CI):

The CI framework mainly improves the development process. Hence the Developers and Test Engineers will greatly benefit from the process. This also helps to reduce the Release overhead for Release Engineer/Manager.

As the bug gets fixed early in the process, the business confidence will increase. Hence the project management is benefitted with the reduction in development time.

CI Tools:

As CI is a practice , we need a tool to implement this. Jenkins CI is an open source CI tool. Below is a list of commercial CI tools in the industry

  1. Bamboo (Atlassian)
  2. TeamCity (JetBrains)

 

CI Advantages:

From the above details, it is prudent that Continuous Integration helps to self-test the code.

As the bugs get identified and fixed early in the development process, this helps to reduce the risk.

This process enables the cohesive and agile development methodologies.

Conclusion:

Next Steps: