Database Normalisation

This is an important concept one must know when dealing with databases. This is something which is quite often asked in Interviews.

Database  Normalization is a technique of decomposing data in a table. The main Intention to perform Normalization is to remove Data Redundancy and to ensure that there is uniqueness and consistency across the table.

By performing Normalization we resolve Issues of Insertion, Updation and Deletion. In case we have a table which is not Normalized, then there is a possibility that we might have two rows which are similar. And if we want to delete a particular row, Instead of performing one delete operation, we have to do it twice. This decreases the efficiency and multiplies the overhead cost. Since we are literally doubling the operations we perform.

In Order to overcome this, there are Normalization Rules available. And in case a table follows these rules, then the database can be called Normalized.

There are 4 major Normalization Rules-

  1. First Normal Form (1NF)
  2.  Second Normal Form (2NF)
  3. Third Normal Form (3NF)
  4.  Boyce and Codd Normal Form (BCNF)

 

These rules will be explained later!

Advertisements

Persistence

Persistence is quite a common term used in the English Language. It is used to refer to a quality or trait .That is someone who consistently strives to do something in order to achieve a particular goal or task. And in most cases this attribute is said to stand in good stead. The field of Computer Science and Operating Systems also has something called as Persistence. Whether the meaning of persistence in Computer Science is similar to that of the English Language remains to be seen.

In Computer Science, persistence means a resource which exceeds it’s normal/original life term and continues to exist in the system. An example for such kind of resources would be,  the resources which exist in the Hard Disk of the Operating System. As you would all know, the contents residing in the hard disk or the secondary storage memory are non volatile and continue to “exist” even after the computer or the system is turned off. This shows that the resource is “persistent” to stay alive and not go away after it is turned off.

JQuery CDN Issue

 

Every programming language or a script requires a library in order  for the developer to experience all the the functions and features of the language. A library is a resource which has got lot of useful and important information which allows programs to execute properly.  All major programming languages require you to include the libraries before writing the program.

For Example in the C language-

# include <stdio.h>

 

In C++

 

# include <iostream>

 

JQuery (which itself is a library of the Javascript programming language) also requires a library in order for the JQuery code to function in the web browser. It can be either downloaded from the Internet or we can specify a url which would access that resource (CDN). Google is one of the hosting providers which hosts  JQuery libraries.

While working with JQuery you might have observed that sometimes the CDN fails to load. You might have used the latest JQuery CDN but still it does not work.

The main reason it does not work is because the JQuery file is linked before we place the JQuery CDN in the header section of the html file.

Something like this-

We are taking an Instance where we are using the JQuery libraries hosted by google and assuming that the JQuery file we have written is named as “script.js”

In the HTML File,

Capture

 

 

 

Which is wrong.

 

This would be the solution in order to avoid this problem.

Steps:

1.First place the JQuery CDN on the header section of the HTML file

2. Then use the script tag to link to your JQuery File.

 

Capture

And it works!!

Virtual Memory

Have you ever wondered how are you able to continuously launch applications one  after the other without the RAM saying “Stop!! I can’t take it anymore!”. This is one of the features which is very understated in an operating system. It is something which happens in the background and the end user never realizes it.

Today we are going to get a brief insight of Virtual Memory. It is the memory which is transferred from the RAM to the ROM  or the hard disk. Now why would the Operating System do that? The operating system has a limited amount of RAM or Primary storage memory. And once this memory get’s almost full, the memory  it is temporarily transferred to the secondary storage ROM.

Now, who is responsible for the transfer of memory? It is a resource known as MMU, which is an abbreviation for Memory Management Unit.

We will learn more about MMU and what it does later. Until then see you next time!

SSD

Have you had situations where your laptop runs terribly slow and wished that it had run faster?? Well, you don’t need to leave your wish remaining unfulfilled for too long since SSD’s have come into the market. They bring a radical transformation to the overall performance of a machine. Many users have experienced a tremendous improvement in the efficiency  and performance once they have switched over to SSD’s.

Now you might be thinking that all that is good but what exactly are SSD’s??black-297648_960_720

Well, SSD is an abbreviation for Solid State Drive. It is a solid state storage device. A solid state storage means that the Information can be stored and retrieved using electronic circuits and there are no mechanical moving components involved. It is non-volatile and hence the Information can be retrieved even after a power cycle.  It can be compared to other devices having non-volatile memory like the External Hard Drive.

Solid State Storage Devices have the following Advantages  over an External Hard Drive-

  • They are faster
  • Consume lesser power
  • No Vibrations
  • Resistant to physical shock
  • No heating Issues
  • Lighter

This technology is used in a wide variety of devices right from SD Cards and USB Flash Drives to large servers.

A Solid State Drive uses an IC Circuit as memory and the data is stored persistently. It has Electronic Interfaces which are compatible with the traditional Input Output Hard Disk Drive. They have Introduced new I/O Interfaces known as SATA Express which supports data transfer speeds upto 1969 MB/s.

You should not be surprised if a day comes when the default secondary storage for a Computer is a SSD and not an External Hard Drive!

JQuery-Hide Action

JQuery is a library of the JavaScript Programming Language.  It was introduced in order to make a website more dynamic. HTML and CSS which are the core languages for web development generate static content.

JQuery makes the website more fun and interactive for the end user. You can have buttons on the website which get highlighted or glow once the mouse is over them. It can also do animations, sliding panels  and many other things. In order to perform them, JQuery provides certain actions. The official motto of JQuery is to “Write Less Do More”. And this is exactly how JQuery works. With lesser number of statements, it can display a perceivable output.

There is a hide action in JQuery, which hides an element during an event. The event can be a time when you click on an element or hover over it. Today let’s see what happens when use a hide action with a click event.

Let’s suppose we have a  Blue Box

Capture

And we click the element. Then what is going to happen is, the box will disappear form the screen since we used the hide action on the click event. Let’s see how the code for this looks like.

$(document).ready(function(){

$(‘div’).click(function(){

$(‘div’).hide();

});

});

The above code basically means  that once the HTML document has loaded. And we click on the element, the concerned element disappears.

Virtual Machines

Have you ever got bored of the Operating System which you were using and wanted to switch over to something else, But didn’t have enough money to buy a new one?? Then Virtual Machine is a solution for you!!

Now don’t get intimidated by the term! It might sound so initially. Even I too was flustered by what it meant when I first encountered this term. But once you get to know about it, you would feel that it could be something which you could use in your daily life!

What comes to your mind when you hear the word “Virtual”?? Think…..

download

Sci-fi, Simulation Games, Video Conferencing, Tele Presence, Skype, Virtual Images(Remember!!You might have studied this in your Physics Class-Optics, focal length, Real Image….), Virtual Memory (Related to Memory Allocation in an Operating System. I would talk about that in my forthcoming blogs), 3D Movies….Well, the list would go on..

So, what you have thought of are terms which belong to contrasting contexts. Movies, Games, Physics,  Operating Systems.. You know what I mean? But, all of them are related in one aspect. They try to create a simulated or make-believe environment. To show something which might not be physically existing.

This can be related to the field of Operating Systems also. With a physically existing Operating Machine, we could have another “Virtual” Operating System to run over it. And the reason we are calling it Virtual is, because even though it is not the primary Operating System of your computer, you are made to believe that it is one! It would perform all the functions which one would normally perform in an operating system, like browsing the net, creating files and folders etc.

 

One of the main advantages of using a Virtual Machine would be that you could use two operating systems at once! Once the Virtual Machine is running, it would just be another window of an application and you can easily switch between them.

 

Now there are many Virtual Machine providers in the Market. Some are free and some are paid. The popular Virtual Machines providers are- VMWare, QEMU, ParallelsDesktop, VirtualBox.

Some of them are used for specific purposes. For Example- The ParallelsDesktop is normally run in the Mac OS X operating System. It is used to run Windows over the Operating System. VMWare comes up with different packages based on the needs of the end user. Just to name a few-VMWare Workstation Player and VMWare Workstation Pro.  The former is for people who just want to get a feel of the Virtual Environment and the latter are for the ones who would like to experiment and use some advanced features. One way of using it would be to run VMWare on a Windows Operating System and have a virtual Linux Environment. QEMU is another Virtual Machine which is mainly used in the Linux based Operating Systems and it can run Windows over it.

 

If you are Interested there are many articles and reports which would give you a further Insight on this topic.

http://www.howtogeek.com/howto/11287/how-to-run-ubuntu-in-windows-7-with-vmware-player/

http://www.jncs.com/php/info/VMware-Explained.php

http://www.parallels.com/products/desktop/

http://www.vmware.com/products/player/

http://wiki.qemu.org/Main_Page

 

Happy Reading!