## Biography of Steve Jobs: Three Stories of Success, Incidents that Inspired Steve

Three Stories of Success

Apple Company’s founder, CEO and Chairman, Steve Jobs had always listened to his heart, done everything according to it and obtained such level in the world which others can only dream of. Steve had told 3 success stories of his life. He was telling the students present at the convocation of Stanford University on 12th June 2005. These stories aren’t just stories but the life-spells required for taking a common person on the peak of success. Anyone can touch the sky by reading them. Given below are Steve Job’s stories in his own words:

First Story

They said yes but when my biological mother got to know that the couple weren’t graduate, she refused to sign on the adoption papers. Later, she agreed on a condition that my guardian parents would send me to college. To follow that condition, I went to college after 17 years but I deliberately chose an expensive college like Stanford and all the saved money of my parents started depleting. After 6 months, I started feeling that education had no real value and I didn’t know what I had to do in life and how would this college’s education help me in life. Here, I had finished all the saved money of my parents.

So, I decided to leave the college and kept the belief that everything would be alright. At that time, this decision seemed very scary but later this was counted among the good decisions of my life. After leaving the college, the constraints on me to attend the classes were removed. I had no room to live. I used to sleep on the floor of my friend’s room. For good food, I went to the Hare Krishna Temple by walking miles every Sunday. In those days, the best calligraphy education was given in Reed College. Posters in the college premises were beautifully calligraphed. I wished to learn calligraphy. As I no longer had to go for graduation classes, I entered the calligraphy classes.

Here, I learnt about various typefaces and felt that this art is more beautiful and attractive than any science. There was no chance of its use in my life but when I designed my first Macintosh computer after 10 years, I applied all of this knowledge in it. This was the first computer with so beautiful typography. Today, I feel if I hadn’t done this course, then multiple typefaces on Mac would not have been so beautiful. When I was in college, it was impossible to join these points by looking in the future. But after 10 years, when I look back, everything seems so clear that you can never join these points by looking in the future. You can only do so by looking at your past. So, you have to believe that whatever is happening today, in the future, this will link in your life through some way or the other.

Second Story
I was lucky that I already had knowledge of whatever I had to do in life. I had begun the story of Apple at my garage and I was 20 years old then. We did much hard work and in the next 10 years, Apple started by 2 people only, became a company of 2 billion dollars and 4,000 workers. Then, we had made our best product Macintosh. Just one year prior to this, I had celebrated my 30th birthday and after this I resigned from the company.

You must be thinking that when I had started the company then how I could resign. But there is a story behind this. As Apple Company started expanding, its arrangement became more and more difficult. So, I kept a more intelligent person to run the company. For one year, everything went well but in the later years, disputes kept increasing regarding future plans and a fight took place in the end. After our fight, Board of Directors took his side and I came out of the company at 30 years of age. The one on which I had spent my everything, was gone now and this was extremely disappointing.

Even after some months, I couldn’t decide what to do. I thought I had disappointed the entrepreneurs of first generation. When I was given the wand, I dropped it. I met David Packard and Bob Naayas and tried to show them grief. I had failed completely. Once I even thought to escape to Silicon Valley but slowly I started realizing how things work. Now I liked everything what I hadn’t liked earlier. No change came in Apple during this. So, I decided to have a fresh start.

During the next 3 years. I started companies like ‘NEXT’ and ‘PIXAR’ and I fell in love with a beautiful woman, who later became my wife. Pixar made the very first computer animated film ‘Toy Story’ and today this is the world’s most successful animation studio. Further, due to an unusual incident, Apple bought NEXT and I again came in Apple. The technique which we had developed in Next had proved as the cornerstone for the second life of Apple. With this, my and Laurene Powell’s family expanded. I firmly believe that if I hadn’t resigned from Apple, then whatever is happening now would not have happened. This was a bad and bitter medicine but it was extremely important for the patient of that time. Sometimes, you have to stumble in life, but don’t lose hope.

I believe that the thing which had continuously kept

me operational was the love towards my work. You have to find out in your lives which work you love. This thing is as important for work as it is for love. Your work is something that fills a big void in your life. Thus any condition to do a great work is to love it. If you don’t know about it, then find it. In all matters related to the heart, you will get to know that when you find it. As time passes, your relation with it becomes better. So, don’t stop and continue searching for it.

Third Story
When I was 15, I had read a statement – ‘If you live everyday of your life as your last day, then one day you will definitely be proved right’ and this had affected me. In the 33 years of my life, I have every day seen myself in the mirror and asked if this is my last day, then will I do each and everything which I have to do and when the answer was a ‘no’ for many days, I realized that I need to change something. I made ‘death’ as the most important tool while taking the biggest decisions of my life as all hopes, pride, fear of failure and consternation end in front of death and what is left is important.

I believe that if you realize that you are going to die, then all your fears of losing anything end. Similarly, when you are already nude then there is no reason for your not listening to your heart. About a year ago from today, I got to know that I have cancer. The tests were done at 7:30 in the morning in which it was clearly shown that there is a tumour in my pancreas. I didn’t even know what is pancreas. Doctors told me that my cancer is incurable, its treatment is impossible and I am just a guest of 3-6 months. Doctors advised me to go home and settle my house, i.e. I should get ready to die. They also asked me to do all those works which I had decided to complete in the next 10 years, so that my family faces least problems, i.e. I should bid good bye to everyone. Whole day passed in these testings and I returned in the evening. Doctors said that this is a cancer which can be treated through surgery. My surgery took place and fortunately I am fit and fine and in front of you.

I had never gone so close to death before this, and I hope will not go for some decades now. After seeing all this, now I can say with a firm belief that death is an ideal situation. No one wants to die. Even those who want to go to heaven, do not want to die, still death is a destination where you have to go. No one is spared from it and this should happen because probably death is the biggest invention of life. Only death changes life and removes the old and opens new path. You may be now young but not for all time. You too will become old after some time and you will have to cross this path. This is a truth, your time is limited. So, do not waste it by living someone else’s life. Do not involve in useless thoughts and never live your life according to others. Do not let your inner voice suppress under the noise of other people’s thoughts. Your heart already knows what you truly want to become.

Everything else is secondary. A wonderful publication named The Whole Earth Catalogue used to be there when I was young. A man named Stuart Brand had published it, who wasn’t much far from there. In my generation, this catalogue was read like Bible. Stuart had made it quite vivid by giving it a poetic form. There were no computers at that time. The whole inventory was made with the help of Tanken machine, scissors and polaroid camera. It was somewhat like Google has been made in the form of a book, that too 35 years before Google. That catalogue was an ideal, filled with good things and great thoughts. Stuart and its team published many editions of it. When its last edition was published, a village was shown on its cover page and below it was written:

“Stay hungry, stay foolish”. This was probably their farewell and last message. I have always wished for it and now when you all are passing from here, I hope from you also to “Stay Hungry, Stay Foolish”.

This means, never think you have achieved everything and known everything. Always, stay hungry for education and remain foolish for knowledge.

LIfeline of Steve Jobs

1955 Born on 24th Feb.
1972 Went to Reed College, but left after 6 months.
1976 Along with high school friend Wozniak, started Apple Company in a garage.
1977 Established the company along with a group of investors.
1980 Apple Company went to stock market and started their shares.
1985 Resigned from the company due to ongoing disputes with the CEO – John Sculley.
1986 Established ‘Next’ Company.
1996 Apple sequestrated ‘NEXT’.
1997 Steve came back to Apple, which was facing loss.
1998 Apple Company started gaining profit.
2000 Became the CEO of Apple.
20001 iPad was launched for sale.
2004 Surgery took place due to cancer in the pancreas.
2007 Apple gave i-phone in the market.
2009 Steve came back after liver transplantation.
2011 iPad II launched on 2nd March.
Resigned from the post of CEO on 24th August. He left this world on 5th Oct.

Incidents that Inspired Steve

Sometimes certain incidents occur in such a way that they settle in a person’s mind in an indelible manner and the person does something new on being inspired from them. Even in Steve’s childhood, certain incidents occurred that left an impression on him and decided the outline of his future. Such kinds of incidents are mentioned here.

Once, Steve Jobs had gone to his ancestral village along with his mother and father. There, he had his ancestral dairy farm. Steve didn’t like village life but Steve saw a cow giving birth to a calf in that dairy farm. Calf started running after a few hours of its birth. Steve got serious on seeing his activeness. He thought that a human child never gets active so fast. A person has to learn before doing anything. Steve thought that there is an engine in the animal’s body which becomes active on brain command. Steve later named this action as computer’s hardware and software and a revolutionary machine like computer was made.

Steve was naughty during his school days. One of his friends, Ferentino, was very naughty too. Both did mischiefs together. Teachers were tired of them. As a result, one of the teachers, Emojen Hill started keeping an eye on Steve. One day she called him and very lovingly gave him a maths assignment booklet. She said, “Steve, you can take this home.” She showed a lollypop packet and said, “If you solve these questions then not only this packet, you will also get 5$for spending” She also said, “I know you will solve them.” After 2 days, Steve returned that booklet to his teacher in which most of the questions were correct. After a few months, Steve didn’t require bribe. His mischiefs ended, his interest towards studies increased. Teacher’s inspiration worked. Actually teacher had seen there is something special in Steve. There was just a need to encourage him. Later Steve accepted that if his teacher had not handled him, then probably he would have been in jail. The colony where Steve Jobs lived in his childhood was built by Ichlar. This builder had built around 11,000 homes in the California division from 1950 to 1970. These houses were very beautiful, inexpensive and had all facilities. Ichlar had made these houses on getting inspired from thinking of a social reformer who had dreamt of providing inexpensive houses to the society. Ichlar had fulfilled his dream. Steve was greatly impressed due to the design, beauty and availability of these houses at low cost. So, Steve also dreamt of making a company in the future. He thought he will make such products which will be unique in design unrivalled in beauty and will be so simple and inexpensive that every section of the society will be able to buy them. In the later years, establishment of Apple was the result of this dream. Steves father had started Steves internship from childhood itself. Steve’s father worked by buying and selling old cars but he changed the design and parts of those cars and made them valuable. He was adept in designing. He saw things in a subtle way. He properly arranged even those parts which normally remained covered. Steve had learnt the lesson of craftsmanship and designing from his father. Steves father had kept some tools on a table in his garage and made it in the form of a cabin. He used to say, “Steve, this is your workshop.” Later, Steve started Apple Company in this workshop and designed his products in a way that no one could match them. Steves Jobs in the Eyes of People Steve Jobs could only see 56th springs of his life. He suffered from cancer. Thus, he left this world on 5th Oct, 2011. The news of his death spread like fire in a forest. Everyone said something or the other for him. Presented here are the outpourings of certain individuals: • People like Steve Jobs can only change this world. —Damitri Medvedev, President of Russia • Steve Jobs was one of the greatest personalities of modern world. He changed the way of living. —Ratan Tata, Indian Industrialist • He was really an inventor. He taught us the new way of communicating and contacting one other. —Manmohan Singh, former Prime Minister of India • There have been very few people in this world who have marked an impression like Steve. Its effect will remain on the coming generations as well. I am one of those fortunate persons who got the opportunity to work with Steve. —Bill Gates, Founder of Microsoft • Steve Jobs is one of those great American inventors who had the ability of thinking differently and had a belief that they can change the world and who had the ability to fulfil his dream. What can be the biggest tribute to Steve’s success that this, as a big portion of the world got the news of his death through some or the other gadget developed by him. —Barack Obama, former President of America • Steve Jobs was a great person of remarkable achievements and wonderful talent. He had the talent of expressing in a few words how we should think. —Larry Page, Founder Of Google • Steve Jobs was my friend. The things he made have the ability to change the world. I will also feel his absence. —Mark Zuckerberg, Founder of Facebook • Steve Jobs will always be remembered for his remarkable contribution in the world of technology. H e set the history of technology by bringing revolutionary changes and brought this world together. —Anna Hazare, Social Servant, India • Steve Jobs believed in the values of excellence, innovation and making people happy. I thank God for making him. —Anand Mahindra, Industrialist, India Steve Jobs at a Glance Name: Steve Paul Jobs Famous name: Steve Jobs Birth: 24th Feb. 1955 Place of Birth: San Francisco, California, America Biological Father: Abdul Fattah Jandali Biological Mother: Joanne Schieble Guardian Father: Paul Jobs Guardian Mother: Clara Jobs Address: Palo Alto, California, America Nationality: American Wife: Laurene Powell Son: Reed Paul Jobs Daughters: Eve Jobs Iren Jobs Lisa Brennan Sisters: Mona Simpson VeddiJobs Death: 5th Oct., 2011 Religion: Buddhism (Converted) Achievements: • In the year 1982, Time Magazine had given the title. • ‘Machine of the year’ to the Apple computer made by him. • Got the ‘National Medal of Technology’ of America in 1985. • In 2007, Fortune magazine gave the title of ‘Most Powerful Man’ in industry. • Forbes magazine chose him as ‘The person of the year’. • Got the Grammy award of music industry. And in the End… There are certain people in the world who do not like to fail at any turn in life. They don’t walk on others’ path but on the path made by them. They show the world that there is nothing difficult. Seen in black T-Shirt and jeans, Steve Jobs was a son of an unmarried mother. A college dropout, Steve created havoc in this world of technology. It was Steve only who started from a garage and made one of the successful companies Apple’ and changed the world of personal computers, music and mobile. He is not with us today but there are very few people in this world who could match him. Bringing revolutionary changes through technology, Steve became an ideal for the coming generation. ## How was Steve Jobs, Interesting Things and Inspiring Thoughts of Steve Jobs ## How was Steve Jobs, Interesting Things and Inspiring Thoughts of Steve Jobs How was Steve Jobs Steve Jobs didn’t just dream, but he was the person who made dreams come true. Through his products, thought and technique, he gave birth to the revolutionary changes in the world. Let’s see what Steve Jobs’ specialities were: • Different from common scientists, experts and technicians, Steve Jobs was an explorer, researcher and inventor. • With multi-faceted talent, he was a remarkable technocrat and an incomparable inventor. He was called as a progenitor of technology. • Steve Jobs cannot be counted only in scientists, technical specialists, researchers, scholars, explorers, inventors and entrepreneurs as he was everything but more than this, he was a future visionist. • He was on the top in technical knowledge. • Nobody was like him in designing. • People of marketing and branding always remained busy in analyzing his strategies. • No one was like him in manufacturing. • No one could challenge him in products’ usability. • He walked forward and everyone else used to follow him. • Steve Jobs is seen standing next to Leonardo da Vinci as not only in science and technology, he has left his impression in many other fields too. • Steve always dreamt big and imagined bigger. • When people were struggling with computer’s black screen, Steve got GUI. When people were tangled with computer’s keyboard, he brought mouse. For ending the problem of sepia tower of computer, he hid it inside the computer itself. When the world was struggling with the keyboard and the keypad of mobiles, he brought the technique of touch screen. • Steve Jobs was unique, totally different, self-willed, but he could go to any limits for giving results. • He always searched for new enemies for himself. He used to say that making enemies can be dangerous but it is necessary for growth. • Steve Jobs was the greatest change agent of the world. • By forming iPad, he furled the world inside people’s pocket. • He never tied himself in any decision and took decisions himself. • He never got satisfied with his work and kept motivating others. • Steve is the other name for courage, passion and belief. Success of Next and PIXAR after getting suspended from Apple are the examples of it. • ‘Think different’ was his slogan. People’s thinking never reached where he used to think. He was a rebellious distant viewer who thought 50 years ahead. • He had so much love towards his work that he only took 3 medical leaves till his last time. • He was such a star, behind which the entire world was like a sky. He was a sky furling everything within him. • Steve Jobs is called the father of mobile and computer resolution. • He never let the impression of his individual life fall on his professional life. • There was no break in the life journey of Steve Jobs and had no desire for it. He was a vigorous example of walking continuously. • He hated wasting time and resources. • On gaining consciousness, he became a vegetarian. • Steve had accepted Buddhism. People used to call him an irritated Buddhist. • He gave full attention to every small issue. He inspected every small corner, every button of the products. He remained very observant with the packaging as well. • He was competent in initiating. Due to his this habit, companies like Apple, Next and PIXAR got established. • He was like a magnet that attracted the best towards itself. • He was deeply attached to his family and took his last breath among them. • He inspired people to do more and more work. He asked his workers to complete the work of 48 hours in 24. • He used very little words and told how to think in life. • He was an engineer, designer, entrepreneur, businessman, everything. Inspiring Thoughts of Steve Jobs Steve Jobs kept doing new in his entire life. Whatever he had done, he did away from technology. Even today, his thoughts are the inspiration-source for the youngsters. He had proved in his lifetime that a single man can change the world and can give new perspective to the people. Here are some inspirational statements made by him: • Come, let’s do something for the future rather than worrying about your past. • Your time in this world is limited and that too is not in your hands. So don’t let the voice of your heart suppress under the noise of others’ thought. • I do not consider my life as an occupation. I believe in working and learning from the problems. This is the essence of my life. • I believe that half of the difference between successful and unsuccessful business is of fixed belief. • If you’ll have your eyes on profit, then you will not see the ability of the product but if you focus on making a good product, then profit will automatically come towards you. • You cannot make products of your choice by asking the customer, because when you will make product of his choice, his choice will change. • The only way of doing great work is to love it. • Deciding what not to do is as difficult as deciding what to do. • Customers themselves do not know what they want, until they are shown. • We have come here to show the universe, what is the need to live here. • If you see keenly, you’ll get to know that immediate success requires long time. So, have patience. • Design is not only how a certain thing looks or feels like, instead design is how that thing works. • Quality is more important than quantity. • Tell the world who you are. If you don’t have the power to change the world, then this world will not recognize you. • Customers have nothing to do with your products. They only care about their hope. If you are able to join your product with their dreams, then only you will be successful. • New range differs between leader and adherent. • Death is the biggest invention of life. • The work that is chosen by you should definitely have something for which you should become passionate. Otherwise you’ll not have the firmness to obtain it. • Great men like Picasso and Newton have also taken the risk of failure. If we want to become great, we will have to take risk too. • Listen to the mad; listen to the rebellious; listen to the one who creates problems. Listen to such people who see things with some other perspective. Such people who are different from the conditions are considered mad by others. But I call them geniuses. Instead of making a product by matching I would like to bid on the product of my sight. • We can make small things memorable. • I am not rejecting the value of high education but I want to say that creativity comes at the cost of experience. • Life should not be limited to food and money. Whatever things we see in our surroundings, their makers were not smarter than any other person. Such people saw life with a different perspective. If you understand or feel this then your life changes completely. • Steve used to say regarding design that few is always more, and more easy is always better. • While taking the biggest decisions of my life, I made the thought of death as the most important weapon because all the fear and pride of external things end in front of death. Interesting Things about Steve Jobs Many interesting incidents are related to Steve Jobs who was a great technocrat, joining art and music with technology. Some of them are given below: • Steve Jobs was the child of a university student. He was the son of an unmarried woman, and was adopted on the condition that he will be sent to college for graduation. • Steve joined college but left it in the 1st semester itself in order to avoid its high fee. • He wanted to become a Buddha ascetic. That is why he got his head shaved and kept roaming in the mountains of Uttarakhand, India in search of peace. • Along with his friends, Steve had formed a company named APPLE. One of his friends, Ronald had left the company at that time by taking 800 dollars. If he hadn’t done this, the today he would have been an owner of 25 billion dollars. • More than 300 patents are filed in Steve’s name. He kept making new companies. • When Steve and his team had formed the first Macintosh computer, then the signatures of all the members were done on a paper and a design of these signatures was made on the inner plate of the computer. Jobs used to say that when all artists sign their work then why not we. • Steve first saw the computer at the age of 12. • Steve was an idol of youth but he had driven his car without license for many years. • He kept working in the “Apple Company” with 10$ per month of pay for about a decade.
• A time also came when Steve resigned from his own company. But returned to this company and took it to elevation.
• Although Steve Jobs and Bill Gates were business competitors, a letter written by Bill Gates was found under Steves pillow at the time of his death.
• People working in Apple Company avoided having lunch with Steve because at the lunch time or even in lifts he used to ask weird questions from people. He often sat in the courtyard during lunch time. After his arrival in the courtyard, the workers having lunch used to disappear from there after eating in 15-20 minutes.
• Three apples together changed the world. One of the apples impressed Havva, second apple awoke Newton and third apple was found by Steve.
• Steve Jobs had two such qualities, which distinguished him from other people. Those were,
• Mulishness
• Impracticability
• He kept his personal life as a secret. Just before his death, he gave his interview to the writer of his biography. When people asked him that why you are ruining your secret, he said, “I thought my children should know about me.”
• Steve Jobs was also honoured with Grammy award posthumously.
• The computer which Steve Jobs had made during his initial days in the garage was sold for 600 dollars. As it was the first computer, so now it has been bidden in 22 crore dollars.
• Steve was very naughty in his childhood. Once he made a poster and advised his school friends that they could bring their pets to school from the next day. Students followed this and the next day, school got filled with pet animals. When teachers found that Steve was behind all this, they warned him and called him crazy.
• Steve wasn’t much interested towards religion but when he was 13, he used to visit the church every Sunday along with his father. In 1968, photographs of some African children were printed on the cover page of a magazine where they were shown sick and starving with hunger. One day, he was in the church where priest was telling the people that when I raise any of my fingers, God already knows which finger I am going to raise. This means God knows everything. Just then, showing that magazine’s cover page, Steve asked “What are the thoughts of your God regarding these children?” The priest said, “Steve, you don’t know but God knows everything.” Steve declared “I do not want to worship such God who cannot even protect these helpless children.” It is said that Steve never went to church after that day.
• Steve had a special attachment with his father. When Steve was around 8 years old, he found an old photograph of his father in the house’s storeroom. The photo was of the time when Paul Jobs was a coast guard and was standing nude in the engine room. Steve found this look of his father as very attractive as he was looking like James Dean in the photo. Steve jumped happily and said, “Wow! My father was so beautiful and handsome in his young age.”
• When Steve was 15, he started taking drug named Marijuana. One day, Steve’s father saw some doses of that drug in Steve’s car. He got angry at this. In the later years, Steve told that this was the first time when he and his father had a fight. “Dad wanted me to promise that I’ll not take marijuana in future but I could not make a solemn promise.” Actually, Steve’s father had become a prey of L.S.D. drug in his childhood. Thus, he wanted to protect Steve from this.
• Once, Steve asked the lock numbers of his friends’ motorbikes and altered them in such a way that no student was able to open the lock of his bike. Later, a mechanic was called at night and then the locks were opened.
• While doing mischief, Steve had once kept a cracker under his teacher’s chair.
• When Steve was 15 years old, he saved some money and with his father’s help, bought a red Fiat. He drove it without license.
• Steve was interested in electronics since his childhood. One day, he spread the wires of the speakers in his house and by making a control room, tried to hear the conversation of the other room. Once, Steve tried to listen to his parents’ conversation through headphone but his father caught his prank and destroyed it.
• During his college days, Steve used to sleep on the floor of his friend’s room. He arranged money by selling the empty bottles of coke and ate free food from Hare Krishna Temple.
• Steve had once told in an interview that I would become a millionaire at 23, owner of crores at 24 and a billionaire at 25 years of age. But, money wasn’t important for me. It was the company, our products and people linked to us who were important.
• When once Steve was asked if he considered himself as an American hero, he replied, “No, I am just a half educated person who learns and does things by seeing and asking.”

## Biography of Steve Jobs: Apple’s Story, Family Condition, Formation of a New Company

Apple’s Story

In those days, computer business was at its initial stage. Wozniak was very much interested in computers. He worked at H.P. Company. Steve and Wozniak decided to open a computer manufacturing company, but they had no knowledge about forming a company. Steve had also taken Ryan Bayne, who was his friend and supporter in Atari Company, along with him. Bayne had earlier formed a company but it had failed. This way, on 1st April 1976, a

partnership deal took place in which Steve and Wozniak were allotted 40 percent part each and Bayne was given 10 percent part. Jobs was given the work of electrical engineering while work regarding mechanical engineering and maintenance of documents was allotted to Bayne. When the turn came for naming the company, Steve suggested the name ‘Apple’ because an apple tree was there outside his house. Apple was also included in his fruit diet and this name was easy too. So everybody accepted the company’s name as ‘APPLE’. Its work started at the garage in Steve’s house. The first computer made by Steve and Wozniak together was given the name Apple-1. People liked this computer. Their first order was for 50 computers whose amount was decided as 500 dollars/per item. Wozniak and Steve had worked very hard and completed this order. After this, Steve didn’t

look back. After Apple-1, Apple-2 computer came in the market. After Apple-2 success, Apple Company rose from garage and came in the market and formed a corporate name. Computer’s sale increased too. Where Apple’s sale was 2500 products in 1977, it had increased to 2,10,000 items in 1981. As at that time, computer was a sophisticated machine itself, so Steve wanted its composition to be simple. Steve kept trying and succeeded in forming a light and small computer. He named this computer as ‘Lisa’ on the name of his daughter from his girlfriend.

In the year 1980, Apple Company’s public issue came in the market and Apple Company entered the stock market. The amount of Apple’s single share was decided as 22\$. Steve was aware of the fact that the world of computers is changing very rapidly. So, it is necessary to be with time. Till now, he had brought Apple-I, Apple-II and Lisa in the market, but he didn’t remain quiet. Till now computers were sophisticated and expensive while Steve wanted to bring simple, economical and small computers. So, he started searching for new engineers and formed a computer named Macintosh. Steve was focusing very much on the computer’s design. He wanted the design to be simple and beautiful. Design should be such, which could express much with little. He also paid much attention on the packaging. As the company was expanding, the problems related to its control and regulations were coming. Steve didn’t want to waste his time in company’s regulation.

Then, Jon Sculley was chosen as the company’s president.

He was Pepsi’s president before this. For many days Sculley and Steve’s relation went well but in the later days, disputes started increasing and the pit of their relation started deepening. Slowly, a time also came when Steve resigned from Apple due to the ongoing dispute. In one way, Steve became unemployed. But it is said that Steve is the name for self-confidence and courage. He didn’t give up. He was 30 years old at that time.

Family Condition

Steve’s girlfriend, Brennan had stayed with him for many days. They also had a daughter who was named Lisa Nichole Brennan. But his relation with Brennan could not remain sweet because Steve had a doubt that Brennan had relations with other men as well. So, he thought Brennan’s daughter was not his own, but still Steve accepted to take the responsibility of his daughter’s expenses in order to avoid disputes.

When Steve was 31 years old, his mother was on death bed. Steve had spent a lot of time with her at that time. Clara had told Steve about her life, his adoption, as well as about his biological mother in detail. She even told him that if he wanted, he could find his biological mother. Later, Steve found out his biological mother and also met his sister, Mona Simpson, who had now become a famous novelist. Steve didn’t try to find his biological father.

Steve had now become serious about marriage. He wanted a beautiful, supportive and vegetarian wife. One day, he had gone to business school of Stanford for giving a lecture. There he met a student named Laurene Powell. She had also come to listen to his lecture. Both went for dinner after the lecture. Laurene Powell was born at New Jersey in 1963. His father was a pilot, who had died in an accident. Laurene’s mother had remarried but Laurene didn’t go with her mom. She was 10 at that time and had

3 younger brothers and sisters. Laurene had brought them up herself. Laurene and Steve’s love grew further and Steve kept the proposal of marriage in front of her. Thus, their marriage got fixed in 1990 and they both got married on 18th March 1991. Steve was 36 while Laurene was 27 years old at that time. After a few months of marriage, Laurene gave birth to a baby boy who was given the name Reed Paul Jobs. Laurene gave birth to a baby girl in 1995 who was named Irina Siena Jobs. After this, another girl was born in 1998 who was named Eve.

Formation of a New Company

Steve didn’t remain quiet after resigning from Apple. He constituted a new company. After this, he collected money by selling all the shares of Apple leaving one. He left one share so as to remain a shareholder of Apple. He gave the name ’NEXT’ to his new company and under this logo, he launched a new company in the market.

People liked this computer and its sale reached up to 10,000 pieces (Nag) per month. After this, Steve established

a company named ‘PIXAR’, which worked for the animation of computer’s hardware. Later, this company worked in the field of film direction. Here, Steve’s company ‘NEXT’ was progressing day by day and Apple Company was going on loss. During this, John Sculley was removed from the post of CEO and Gill Amelio came in his place. Apple needed a good operating system, which could only be provided by NEXT. Steve and Amelio met and Apple kept the proposal of buying NEXT. So, in December 1996, Apple bought NEXT and Steve became the part time advisor of Apple.

Slowly, Steve returned in Apple and became its CEO. The process for improving Apple’s products had now started. Steve knew that changes are occurring every moment in the field of electronics. So, there is need for improvement in the products and they have to be made simple and inexpensive. He started putting letter ‘i’ with the products. Till now apple had entered the field of communication. At first, Steve launched a computer named 1. iMac. After this, revolutionary products like 2. iPod, 3. iTunes Store, 4. iPhone and 5. iPad were launched.

Last Time

Steve was working very hard on his return in Apple and he again took Apple to heights. But he started remaining unwell during these days. There were chances of having stone in his kidney as he was not only feeling tired but was also facing difficulty while talking. He saw the risk of cancer; as a result he got himself tested by a Urologist in 2003. No special disease came in that test, so he got his CT scan done.

It was found that his kidneys are absolutely fine but there is a black spot in the pancreas. When doctor insisted him a lot, then Steve’s pancreas was tested. Through the tests, it was found that there was a tumour in his stomach. Through deep testing, it was found out to be a cancer which was at its initial stage. The only treatment for cancer was surgery but Steve didn’t take much interest in this. He wasn’t in favour of surgery. His friends and wife insisted him a lot, but Steve didn’t get ready for surgery.

Nine months passed during this. In another CT scan done in 2004, it was found that tumour was increasing rapidly. Steve finally got ready for surgery and in July 2004, Steve’s surgery took place in the medical centre of Stanford University and the part of pancreas with cancer was removed. This way, surgery was successful. But, cancer had now spread in other body parts as well. On one side, Steve was struggling with cancer while on the other side this thing was kept as secret. However, it was in Steve’s nature and he now freely said, “I am getting well”.

At that time Steve had turned 50. He had celebrated his 30th and 40th birthday among known people of Silicon Valley but his 50th birthday was celebrated with simplicity by his family members.

His treatment went on continuously. During this, Steve and his doctors got to know in 2008 that the cancer is spreading. Best therapy was arranged for him but cancer kept increasing and Steve’s pain too. From this very date 10th March 2008, Steve’s disease became a public problem and news was published reporting his health. When he launched iPhone with 3G in 2008, he was looking weak on stage. Steve was the CEO of apple, his health was declining, and the value of apple’s shares was falling too. Till now, Steve was worried about his health on one side, but he wasn’t accepting this completely. Once, he arranged a press note and told people that he was not unhealthy, only hormonal imbalance was there. When wrong news started coming about Apple, Steve left the post of CEO and Tim Cook was made the new CEO.

Doctors now suggested that Steve needs to have transplantation but it wasn’t easy to get a liver. After much running, a dead body was obtained on 21st March 2009 and the surgery was done. By now, 2010 had come and Steve was feeling healthy. He celebrated his 50th birthday in Feb 2010. After 8 months, Steve again started getting sick, day by day Steve’s health was falling but he kept working in Apple and in the end, that day of 5th Oct. 2011 came when Steve Jobs left this world. In his final words, Steve had said, “My career has been fantastic and I have been very lucky. I have done everything what I wanted.”

## PL/SQL Long Answer Type Questions Part 4

Question 1.
Write about Exceptions Handling in PL/SQL
Answer: PL/SQL provides a feature to handle the Exceptions which occur in a PL/SQL Block known as exception Handling. Using Exception Handling we can test the code and avoid it from exiting abruptly. When an exception occurs a messages which explains its cause is received.
PL/SQL Exception message consists of three parts.

1. Type of Exception
2. An Error Code
3. A message

By Handling the exceptions we can ensure a PL/SQL block does not exit abruptly.

Structure of Exception Handling:
General Syntax for coding the exception section
DECLARE
Declaration section
BEGIN
Exception section
EXCEPTION
WHEN ex_name1 THEN
-Error handling statements
WHEN ex_name2 THEN
-Error handling statements
WHEN Others THEN
-Error handling statements

Types of Exception: There are 3 types of Exceptions.

1. Named System Exceptions
2. Unnamed System Exceptions
3. User-defined Exceptions

1. Named System Exceptions:
System exceptions are automatically raised by Oracle, when a program violates a RDBMS rule. There are some system exceptions which are raised frequently, so they are pre-defined and given a name in Oracle which are known as Named System Exceptions.
For example: NOJDATA FOUND and ZERO_ DIVIDE are called Named System exceptions.

Named system exceptions are:

1. Not Declared explicitly,
2. Raised implicitly when a predefined Oracle error occurs,
3. Caught by referencing the standard name within an exception-handling routine.

For Example: Suppose a NO DATA FOUND exception is raised in a proc, we can write a code to handle the exception as given below.

BEGIN
Execution section EXCEPTION
WHEN NO.DATAJOUND THEN
dbms_output.put_line (‘A SELECT…INTO did not return any row.’);
END;

2. Unnamed System Exceptions
Those system exception for which oracle does not provide a name is known as unnamed system exception. These exception do not occur frequently. These Exceptions have a code and an associated message.

There are two ways to handle unnamed system exceptions;

1. By using the WHEN OTHER S exception handler, or
2. By associating the exception code to a name and using it as a named exception.

Steps to be followed to use unnamed system exceptions are

• They are raised implicitly.
• If they are not handled in WHEN Others they must be handled explicity.
• To handle the exception explicity, they must be declared using Pragma EXCEPTIONINIT as given above and handled refereeing the user-defined exception name in the exception section.

The general syntax to declare unnamed system exception using EXCEPTION INIT is:
DECLARE
exception_name EXCEPTION;
PRAGMA
EXCEPTIONJNIT (exception_name, Err_code);
BEGIN
Execution section
EXCEPTION
WHEN exception_name THEN
handle the exception

3. User-defined Exceptions
Apart from system exceptions we can explicity define exceptions based on business rules. These are known as user- defined exceptions.
Steps to be followed to use user-defined exceptions:

• They should be explicitly declared in the declaration section.
• They should be explicitly raised in the Execution Section.
• They should be handled by referencing the user-defined exception name in the exception section.

Question 2.
What is a Database Trigger? Explain the advantages and disadvantages of Database Trigger.
A trigger defines an action the database should take when some database related event occurs. For any event that causes a change in the contents of a table. Triggers enhance the ability of the database users to make the database respond actively to changes within or outside the database. Advantages:

1. Triggers can be used as an alternative method for implementing referential integrity constraints.
2. By using triggers, business rules and transactions are easy to store in database and can be used consistently even if there are future updates to the database.
3. It controls on which updates are allowed in a database.
4. When a change happens in a database a trigger can adjust the change to the entire database.
5. Triggers are used for calling stored procedures.

1. It is easy to view table relationships, constraints, indexes, stored procedure in database but triggers are difficult to view.
2. Triggers execute invisible to client-application applications. They are not visible or can be traced in debugging code.
3. It is hard to follow their logic as it they can be fired before or after the database insert/update happens.
4. It is easy to forget about triggers and if there is no documentation it will be difficult to figure out for new developers for their existence.
5. Triggers run every time when the database fields are updated and it is overhead on system. It makes system run slower.

Question 3.
What is Trigger? Explain Different types of Triggers?
A trigger defines an action the database should take when some database related event occurs. For any event that causes a change in the contents of a table. Triggers enhance the ability of the database users to make the database respond actively to changes within or outside the database.

Types of Triggers:
There are twelve basic types of triggers. A trigger’s type is defined by the type of triggering transaction and by the level at which the trigger is executed. The following describe these classifications.
a) Row-level triggers
b) Statement-Level Triggers
c) BEFORE and AFTER Triggers

a) Row-Level Triggers: Row-Level Triggers, trigger once for each row in a transaction. These types of triggers are very useful in cases like audit trails, where you want to track . the modification made to the data in a table. Different RDBMS have implemented the row-level triggers in different’ ways. For example, in ORACLE’S PL/SQL, you can create a row-level trigger by using the FOR EACH ROW clause in the CREATE TRIGGER command.
Example:
CREATE TRIGGER NoLowerPrices
AFTER UPDATE OF price ON Product
REFERENCING
OLD AS OldTuple
NEW AS NewTuple
WHEN (OldTuple.price > NewTuple. price)
UPDATE Product
SET price = OldTuple price
WHERE name = NewTupe.nam
FOR EACH ROW

b) Statement-Level Triggers: Statement-Level Triggers execute once for each transaction. For example, if a single transaction inserted 700 rows into a table then a statement- level trigger on that table will be executed only once. Statement-level triggers therefore are not often used for data related activities. They are normally used to enforce additional security measures on types of transactions that may be performed on a table. Statement-Level triggers are the default type of triggers created using CREATE TRIGGER command.
Example:
CREATE TRIGGER average-pnce-preserve
INSTEAD OF UPDATE OF price ON Product
REFERENCING
OLD_TABLE AS OldStuff
NEW_TABLE AS NewStuff
WHEN (1000 < SELECT AVG (price)
FROM (Product EXCEPT OldStuff) UNION NewStuff))
DELETE FROM Product
WHERE (Name, Price, Company) IN OldStuff.
INSERT INTO Product
(SELECT * FROM NewStuff)

c) BEFORE and AFTER Triggers: Since triggers occur because of events, they may set to occur immediately before or after those events. Since the events that execute triggers are database transactions, triggers can be executed immediately before or after INSERTS, UPDATES and DELETES.
Within a trigger, you will be able to reference the old and new values involved in the transaction. The access required for the old and new data may determine which type of trigger you need. OLD refers to the data, as it existed prior to the transaction. Updates and deletes usually reference old values. New values are the data values that the transaction creates. They are referred by the keyword NEW.

If you need to set a column value in an inserted row via your trigger, then you will need to use a BEFORE INSERT trigger in order to access the ‘NEW’ values. Using an AFTER INSERT trigger would not allow you to set the inserted value, since the row will already have been inserted into the table.
AFTER row-level triggers are frequently used in auditing applications, since they do not fire until the row has been modified. Since the row has been successfully modified, this implies that it has successfully passed the referential integrity constraints defined for that table.

Question 4.
How do you create, replace and drop the triggers?
The CREATE TRIGGER command is used to create or replace the Database triggers. For example, Suppose we want to monitor any changes to the amount that is greater than 40%. The following row-level BEFORE UPDATE trigger will be executed only if the new value of the Amount column is more than 40% its old value.

CREATE TRIGGER ledger_bef_upd_row
BEFORE UPDATE ON ledger
FOR EACH ROW
WHEN (NEW.amount/OLD.amount>1.4)
BEGIN
INSERT INTO Ledger_audit
VALUES(:OLD.Action_date,:OLD.action, :OLD.amount.:OLD.item)
END;

CREATE TRIGGER ledger_bef_upd_row → The trigger is created and named.

BEFORE UPDATE ON Ledger → This trigger applies on the ‘Ledger’ table. It will be executed before update transaction have been committed to that database.

FOR EACH ROW → Because the for each row clause is used, the trigger will apply to each row in the transaction. IF the clause is not used, then the trigger will execute only at the statement level.

WHEN (NEW.amount/OLD.amount>1.4) → The when clause adds further restrictions to the triggering condition. The triggering event must not only be an update of the ‘Ledger’ table, but also must reflect an increase of over 40% in the value of the ‘amount’ column.

BEGIN → Makes the beginning of the block

INSERT INTO Ledger_audit
VALUES(:OLD.Action_date,:OLD.action, :OLD.amount,:OLD.item) →
The PL/SQL code is the trigger body. The commands shown here are to be executed for every update of the ‘Ledger’ table that passes the when condition. IN order for this to succeed, the ‘Ledgeraudit’ table must exist, and the owner of the trigger must have been granted privileges on that table. This particular example inserts the old values of the ‘Ledger’ table into the ‘Ledger audit’ table before the ‘Ledger’ record is updated. When referencing the NEW and OLD keywords in the PL/SQL block colons (:) precede them.

END; → Marks the end of the PL/SQL block.

Replacing Triggers: The body of a trigger cannot be altered. Only the status can be altered. To alter the body the trigger must be re-created or replaced. .When replacing a trigger, you should use CREATE OR REPLACE TRIGGER command. Using the OR REPLACE option will maintain any grants made for the original version of the trigger. The alternative solution is dropping and re-creating the trigger, but it will drop all the grants made for the trigger.

Dropping Triggers: Triggers may be dropped using the DROP trigger Command.

Question 5.
PL/SQL
PL/SQL Procedural Language/Structured Query Language. PL/SQL extends SQL by adding extra flavors like variables, conditional statements, looping structures, cursor management, exception handling statements etc. PL/SQL combines the flexibility of SQL with the power of programming language.

Features:
PL/SQL has the following features –

• PL/SQL is tightly integrated with SQL.
• It offers extensive error checking.
• It offers numerous data types.
• It offers a variety of programming structures.

Question 6.
Define Cursor
A cursor is an SQL object that is associated with a specific table expression. The RDBMS uses cursors to navigate through a set of rows returned by an embedded SQL SELECT statement. A cursor can be compared to a pointer. The programmer declares a cursor and defines the SQL statement for the cursor. After that you can use the cursor like a sequential file. The cursor is opened, rows are fetched from the cursor, one row at a time, and at the end of processing the cursor is closed.

Question 7.
CASE statement
Like the IF statement, the CASE statement selects one sequence of statements to execute. However, to select the sequence, the CASE statement uses a selector rather than multiple Boolean expressions. A selector is an expression, the value of which is used to select one of several alternatives. Syntax:
The syntax for the case statement in PL/SQL is –
CASE selector
WHEN ‘valuer THEN S1:
WHEN ‘value2’THEN S2:
WHEN ‘value3’THEN S3;
……….
ELSE Sn; — default case
END CASE;

Question 8.
Exceptions Handling in PL/SQL
PL/SQL provides a feature to handle the Exceptions which occur in, a PL/SQL Block known as exception Handling. Using Exception Handling we can test the code and avoid it from exiting abruptly. When an exception occurs a messages which explains its cause is received.

PL/SQL Exception message consists of three parts.

1. Type of Exception
2. An Error Code
3. A message

By Handling the exceptions we can ensure a PL/SQL block does not exit abruptly.

Question 9.
Trigger
A trigger defines an action the database should take when some database related event occurs. For any event that causes a change in the contents of a table. Triggers enhance the ability of the database users to make the database respond actively to changes within or outside the database.

Types of Triggers:
There are twelve basic types of triggers. A trigger’s type is defined by the type of triggering transaction and by the level at which the trigger is executed. The following describe these classifications.

• Row-level triggers
• Statement-Level Triggers
• BEFORE and AFTER Triggers

Birth

Arthur Schieble was a farmer of Germany, who also carried out the business of real estate, farming and farmhouse. Arthur had a daughter whose name was Joanne Schieble. After completing her school education, Joanne had entered Wisconsin University for her graduation. Joanne belonged to a Catholic family, so her nurturing and upbringing was done according to Catholic tradition. Joanne’s father was of conservative thinking. He was also a supporter of caste tradition. During her graduation, Joanne fell in love with a Syrian Muslim. His name was Abdul Fattah Jandali. He was from Syria and his father too was a well-known trader of Homs district in Syria. He controlled the trade of wheat. This Muslim family was open minded.

Thus, they had sent Abdul Fattah to Wisconsin University for doctorate in political science. At that time, Joanne and Abdul Fattah were about 23 years old. Both were good looking and attractive. It is said love is blind. So they got attracted towards each other without thinking about discrimination, race, religion, etc. and got tied in love. When Joanne’s father heard about this, he got very upset. He had kept strict discipline on his daughter but she didn’t follow his rules. Arthur Schieble was totally against forming a relation with a Muslim. He was in favour of relation with a Catholic family only Joanne and Abdul Fattah’s love kept blossoming.

Abdul Fattah was satisfied from his family as his family was open minded. They had no worries for their son’s marriage. In those days, Joanne went to Syria along with Abdul Fattah and stayed with his family at Homs. Here, Joanne did a mistake and she came much more close to Abdul Fattah. When they both came back to Wisconsin, they found that Joanne was pregnant.

Now the problem was in front of Joanne. Although both wanted to get married, Catholic society did not allow marriage in Muslim society. Also, Catholic Church considered abortion a sin. Society didn’t even accept the child of an unmarried woman. Joanne’s father, Arthur

Schieble was extremely sick. He had threatened that if Joanne marries that Muslim guy, he will exclude her from his wealth and will make her leave the house. Now all the ways were closed for Joanne, and when she didn’t find a solution she decided to give birth to the child. She got to know about a kind doctor in San Francisco, who helped unmarried mothers to give birth and also helped in the adoption of such children. Thus, in the first week of January 1955, Joanne went to that doctor in San Francisco and started waiting for the child’s birth.

After waiting, that day of 24th Feb. 1955 finally came when Joanne gave birth to a beautiful and healthy child. Although Joanne was entranced by that child yet she couldn’t keep him with herself due to the fear of his father. So, she didn’t even give name to that child and didn’t inform his father about this.

The document for adoption was prepared, but when Joanne got to know that the married couple weren’t graduate, she refused to sign the documents. At that time, the child was with the new couple but they were not his legal guardians. There, Joanne wanted to keep this adoption pending as his father was on death bed at that time. Joanne had thought somewhere in her heart that if her father dies, she will be the owner of his wealth and will keep her child with herself as only her father was against keeping that child. But it is true that no one could predict the fate and Joanne’s father got well again.

Now, Joanne had no other option but to give away her child. So, she kept a condition that Jobs couple will have to educate her child till graduation. As jobs couple had got this child after 9 years of marriage, they immediately accepted this condition. This way, the process of adoption got completed. Jobs couple gave the name Steven Paul Jobs to the child. Just after this naming procedure, Joanne’s father Arthur Schieble passed away. But now the child had gone away from Joanne.

Steven’s guardian father was Paul Rhynhold Jobs who belonged to Germany. He was an alcoholic and his life wasn’t good in his childhood. He was brought up in a dairy of Wisconsin. He had left his high school studies in between. He had learnt the work of a mechanic and had joined the army of coast guard at the age of 19. After 2nd World War, Paul had taken a job in a financial company and he used to recover the debts of that company. He did the work of selling and buying old cars in his spare time.

Steven’s guardian mother’s name was Clara who was an Armenian American. She was born in New Jersey. Her family had later shifted to the Mission Guardian Clara Jobs district of San Francisco. Although Clara was married, her husband had died in the 2nd World War, Clara didn’t reveal this and got married to Paul Jobs.

This married couple had not got the happiness of a child even after 9 year of their marriage.

That is why they had taken the decision of adopting a child and adopted Steve. In the later years, Steven was called as Steve and he got popularly known as Steve Jobs. This way, Joanne and Abdul Fatah Jandali were Steve’s biological parents, while Steve’s guardian parents were Steve Jobs’ sister Mona Simpson Paul jobs and Clara jobs.

After 6 months of Steve’s adoption, Joanne and Abdul Fatah got married in Aug 1955 and after one year, a girl was born in their house who was named Mona. Later, she became a famous writer and got popular by the name Mona Simpson. Joanne and Abdul Fatah’s married life didn’t last for long and they both got divorced in 1962. Paul Jobs had also adopted a daughter who was named as Yehi Jobs. Now Steve started spending his childhood with this daughter. When Steve Jobs was 5 and Yehi was 3 years old, Paul Jobs came to San Francisco along with his family for the purpose of their children’s education.

School Education

Steve’s domestic education was given by his mother Clara Jobs. Later he was made to enter a primary school named Monta Loga. Steve was a good student with his sharp mind but did a lot of mischief. He spent most of his time in games and mischief. Only naughty boys were his friends: Steve’s father didn’t shake even when Steve was punished for his mischief. When he was told about Steve’s mischief, he blamed the school itself and said that if child’s attitude had not changed towards education then school was responsible for it.

Once school decide to promote Steve from 4th standard to standard so that h. mischief might end with bigger students but his father took only one class more promotion and got him promoted to 6th standard.

Steve didn’t like this school as the students here were not naughty but criminals and school’s environment wasn’t peaceful too. Thus, Steve got fed up with this school after he entered 7th standard and his family had to make him join a better school with quality education for further classes.

When he was in ninth standard, he took admission in Homestead High School. This was a good and expensive school. Here were Steve’s favourite subjects – maths, science and electronics. He formed some good friends here. But here too, he kept playing pranks related to electronics. Steve had befriended Steven Wozniak during his school days. He was also much interested in electronics. His father was an engineer. Slowly, Wozniak got proficiency in computer knowledge. He was also an expert doing electronics-related mischiefs. Thus, mischiefs were the reason for Steven and Steve’s friendship. Along with computers, both of them were very much interested in music too. Both formed blue box together, through which they could telephone to long distances.

Steve had formed a girlfriend during his school, whose name was Brennan. Both started dating in that age. Brennan was interested in painting, while Steve had started playing guitar now. One day, despite his father’s disapproval, Steve went on mountains along with his girlfriend. All this increased so much that once he met with an accident while enjoying with his friends in his red fiat and his car caught fire.

Steve had now completed his school education and had turned 17. As the condition of graduating the child was mentioned in the adoption deed, Paul Jobs made arrangements for sending Steve to college. He had also arranged money for this. Although Steve was not interested in going to college yet due to his parents’ regular insistence, he entered the most expensive Reed College of Portland. He didn’t take admission in the nearby Berkeley or Stanford College. However, his friend Wozniak was in Berkeley College and there was a proposal of scholarship in Stanford, but Steve had deliberately chosen the famous art college ‘Reed’. His father went to drop him at Reed College. Steve returned him from the college gate. However, he repented his behaviour in the later years.

For many days, Steve wasn’t interested in Reed College too. He considered regular going to the class as childish. He inclined towards spiritualism and vegetarianism while staying at this college. He made another friend here whose name was Daniel Kottke. Soon, he got bored with Reed College as it was strict in terms of studies. Even Steve’s friend Wozniak advised him to study regularly, but Steve wasn’t interested. So he left this college after one semester only and started going to calligraphy classes. Later on this study of calligraphy proved as a turning point in his life. Steve came to his parents after dropping out from the college and started searching for a job. One day, he saw an advertisement and took a job in Atari Company.

This company made video games. Although Steve remained very badly, like hippies in those days, his company had kept him on 5 dollars per hour of job on the basis of his mind and passion. Steve made a very beautiful and simple game here. People in Atari said about him “He is difficult but valuable”. These days Steve’s spiritual hunger was further increasing. Some time ago, one of his friends had gone to India. He told Steve about the saint Neem Katori Baba of India. Steve too came to India in need of spiritualism. After staying in Delhi, he then went to Haridwar as Delhi’s weather wasn’t ideal for him.

There, Kumbh mela was held at that time. Steve was surprised to see crores of people in that Kumbh mela. Later he reached Nainital. But Neem Katori Baba had passed away till then. So, Steve couldn’t meet him. He stayed at the ashram for some days. Once in a religious conference, a Baba shaved off his head and made him wear ochre clothes. After spending 7 months in India, he went back to his country. When he reached home, his family couldn’t recognize him from his Buddhist form. He again joined Atari Company.

## PL/SQL Long Answer Type Questions Part 2

Question 1.
Discuss about Control Structures in PL/SQL.
In addition to SQL commands, PL/SQL can also process data using flow control statements. The flow control statements can be classified as the following categories:

1. Conditional Control Statements
2. Iteration Control Statements
3. Sequential Control Statements

Conditional Control Statements:
Conditional Control statements are useful to execute a sequence of statements based on a certain condition. The if statement is used to control the flow of execution of the statements. There are three forms of if statements are supported by PL/SQL.

1. If …. Then
2. If …. Then …. Else
3. If …. Then …. Else If …. Else

If …. Then
This is a simplest form of an If statement. The syntax of this statement is as follows.

Syntax:
If <Condition> Then
Statement(s);
End if;

The statements placed inside the 1f block will be executed only when the condition evaluates to True, otherwise do not. For every If there must be an End If to indicate that this is the end of the if block.

If …. Then …. Else
To specify two mutually exclusive statements, we use this type of 7/ statement. The statements placed inside the Else block will be executed only when the condition placed in the If evaluates to False. If the condition evaluates to True, only the statements placed inside the If block will be executed.
Syntax:
If <condition> Then
Statement(s) 1;
Else
Statemet(s) 2;
End If;

If …. Then …. Else If …. Else
This structure is used to place more than one mutually exclusive block. By using this structure we can execute only one block of statements among several.
Syntax:
If <condition 1> Then
Statement(s) 1;
Else If <condition 2> Then
Statement(s) 2;
………..
………..
Else If <Condition n> Then Statements) n;
Else
Statement(s);
End If;

CASE statement:
Like the IF statement, the CASE statement selects one sequence of statements to execute. However, to select the sequence, the CASE statement uses a selector rather than multiple Boolean expressions. A selector is an expression, the value of which is used to select one of several alternatives. Syntax:
The syntax for the case statement in PL/SQL is –

CASE selector
WHEN ‘value1’ THEN S1;
WHEN ‘value2’ THEN S2;
WHEN ‘value3’ THEN S3;
ELSE Sn; — default case END CASE;

Iterative Statements:
An iterative control Statements are used when we want to repeat the execution of one or more statements for specified number of times. There are three types of loops in PL/SQL:

1. Simple Loop
2. While Loop
3. For Loop

1) Simple Loop
A Simple Loop is used when a set of statements is to be executed at least once before the loop terminates. An EXIT condition must be specified in the loop, otherwise the ldop will get into an infinite number of iterations. When the EXIT condition is satisfied the process exits from the loop.
The General Syntax to write a Simple Loop is:

LOOP
statements;
EXIT;
{or EXIT WHEN condition;}
END LOOP;

These are the important steps to be followed while using Simple Loop.

1. Initialize a variable before the loop body.
2. Increment the variable in the loop.
3. Use a EXIT WHEN statement to exit from the Loop. If you use a EXIT statement without WHEN condition, the statements in the loop is executed only once.

2) While Loop:
A WHILE LOOP is used when a set of statements has to be executed as long as a condition is true. The condition is evaluated at the beginning of each iteration. The iteration continues until the condition becomes false.

The General Syntax to write a WHILE LOOP is:

WHILE <condition>
LOOP statements;
END LOOP;

Important steps to follow when executing a while loop:

1. Initialize a variable before the loop body.
2. Increment the variable in the loop.
3. EXIT WHEN statement and EXIT statements can be used in while loops but it’s not done oftenly.

3) FOR Loop:
A FOR LOOP is used to execute a set of statements for a predetermined number of times. Iteration occurs between the start and end integer values given. The counter is always incremented by 1. The loop exits when the counter reachs the value of the end integer. The General Syntax to write a
FOR LOOP is:

FOR counter IN vall..val2
LOOP statements;
END LOOP;

val1 – Start integer value.
val2 – End integer value.

Important steps to follow when executing a For loop:

1. The counter variable is implicitly declared in the declaration section, so it’s not necessary to declare it explicity.
2. The counter variable is incremented by 1 and does not need to be incremented explicitly.
3. EXIT WHEN statement and EXIT statements can be used in FOR loops but it’s not done oftenly.

Programs:
Program to check whether a value is greater than b or not

Declare
a number;
b number;
Begin
a:=&a;
b:=&b;
if a>b then
dbms_output.put_line(‘A is big’);
end if;
End;

Program to find a person is major or not

Declare
age number;
Begin
age:=&age;
if age >=18 then
dbms_output.put_line(Major’);
end if;
End;

Program to find biggest value among two values

Declare
a number;
b number;
Begin
a:=&a;
b:=&b;
if a>b then
dbms_output.put_line(‘A is big’);
else
dbms_output.put_line(‘B is big’);
end if;
End;

Program to check a given value is Odd or Even

Declare
a number;
Begin
a:=&a;
if mod(a,2)=0 then
dbms_output.putJne(‘Even’);
else
dbmsjjutputputJinefOdd’);
end if;
End;

Program to find a person is major or not
Declare age number;
Begin
age:=&age; .
if age >= 18 then
dbms_output.put_line(‘Major’);
else
dbms_output.put_line(‘Minor’);
end if;
End;

Program to check a given character is in Upper case or in Lower case

Declare
c char;
t number;
begin
c:-‘&c’;
t:=ascii(c);
if t>=65 and t<=90 then | if t between 65 and 90 then
dbms.output.put_line(‘Upper’);
else
dbms_output.put_line(,Lower’);
end if;
End;

Program to check a given number is Positive or Negative

Declare
a number;
begin
a:=&a;
if sign(a)=1 then
dbms_output.put_line(‘.Positive’);
else
dbms_output.put_line(‘Negative’);
end if;
End;

Program to find biggest value among three numbers

Declare
a number;
b number;
c number;
begin
a:=&a;
b:=&b;
c:=&c;
if a>b and a>c then
dbms_output.put_line(‘A is Big’);
else if b>c then
dbms_output.put_line(‘B is Big’);
else
dbms_outputput_line(‘C is Big’);
end if;
end if;
End;

Program to carryout the student results and store them into the table

Declare
sno number;
sname varchar2(20);
m1 number;
m2 number;
m3 number:
total number;
average number(5,2);
result varchar2(15);
Begin
sno:=&sno;
sname:-&sname;
m1:=&m1;
m2:=&m2;
m3:=&m3; .
total:=m1+m2+m3;
average:=total/3;
if m1>=35 and m2>=35 and m3>=35 then
result=’Pass’;
if average>=75 then
elsif average>=60 then
elsif average>=50 then
else
end if:
else
result=’Fail’;
End;

Question 2.
Discuss about Nested Loops in PL/SQL
PL/SQL allows using one loop inside another loop. Following section shows a few examples to illustrate the concept.
The syntax for a nested basic LOOP statement in PL/SQL is as follows –

LOOP
Sequence of statements1
LOOP
Sequence of statements2
END LOOP;
END LOOP;

The syntax for a nested FOR LOOP statement in PL/SQL is as follows –

FOR counter1 IN initial_value1.. final_value1 LOOP
sequence_of_statements1
FOR counted IN initial_value2.. final_value2 LOOP
sequence_of_statements2
END LOOP;
END LOOP;

The syntax for a nested WllILL LOOP statement in Paseai is as follows –

WHILE conditionl LOOP
sequence_of_statements1
WHILE condition2 LOOP
sequence_of_statemenis2
END LOOP;
END LOOP;

Example
The following program uses a nested basic loop to find the prime numbers from 2 to 100 –

DECLARE
i number(3);
j number(3);
BEGIN
i := 2;
LOOP
j := 2;
LOOP
exit
WHEN ((mod(i, j) = 0) or (j = i));
END LOOP;
IF (j = i) THEN .
dbms_output.put_line(i ||’ is prime’);
END IF;
i:=i + 1;
exit WHEN i = 50;
END LOOP;
END;

When the above code is executed at the SQL prompt, it produces the following result –
2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime

PL/SQL procedure successfully completed.

Question 3.
Discuss about Selection Statements in PL/SQL
Conditional control statements are useful to execute a sequence of statements based on a certain condition. The if statement is used to control the flow of execution of the statements. There are three forms of if statements are supported by PL/SQL.

1. If…Then
2. If… Then…Else
3. If…Then…Else If…Else

If…Then:
This is a simplest form of an If statement. The syntax of this statement is as follows.
Syntax:
If <Condition>
Then Statement(s);
End If;

The statements placed inside the If block will be executed only when the condition evaluates to True, otherwise do not. For every If there must be an End If to indicate that this is the end of the If block.

Flow Diagram

Example 1
Let us try an example that will help you understand the concept –

DECLARE
a number(2) := 10;
BEGIN a:= 10;
— check the boolean condition using if statement
IF( a < 20) THEN
— if condition is true then print the following
dbms_output.put_line(‘a is less than 20’);
END IF;
dbms_output.put_line(‘value of a is :’ || a);
END;
/

When the above code is executed at the SQL prompt, it produces the following result –
a is less than 20
value of a is: 10
PL/SQL procedure successfully completed.

If…,., Then.. …Else
To specify two mutually exclusive statements, we use this type of If statement. The statements placed inside the Else block will be executed only when the condition placed in the If evaluates to False. If the condition evaluates to True, only the statements placed inside the If block will be executed. Syntax:
If <condition> Then
Statement(s) 1;
Else
Statemet(s) 2;
End If;

Flow Diagram:

Example
Let us try an example that will help you understand the concept –
DECLARE
a number(3) := 100;
BEGIN
— check the boolean condition using if statement IF( a < 20) THEN
— if condition is true then print the following dbms_output.put_line(‘a is less than 201);
ELSE
dbms_output.put_line(‘a is not less than 20’);
END IF; –
dbms_output.put_line(‘value of a is:’ || a);
END;

When the above code is executed at the SQL prompt, it produces the following result –
a is not less than 20
value of a is: 100

PL/SQL procedure successfully completed.

If ….. Then ….. Else If…..Else
This structure is used to place more than one mutually exclusive block. By using this structure we can execute only one block of statements among several.
Syntax:
If <condition 1> Then Statements) 1;
Else If <condition 2> Then Statements) 2;
……….
……….
Else If <Condition n> Then Statements) n;
Else
Statement(s);
End If;

Example
DECLARE
a number(‘3’) := 100;
BEGIN
IF (a = 10) THEN
dbms_output.put_line(’Value of a is 10’);
ELSIF (a = 20) THEN
dbms_output.put_line(‘Va1ue of a is 20’);
ELSIF (a = 30) THEN
dbms_output.put_line(‘Value of a is 30’);
ELSE
dbms_output.put_line(‘None of the values is matching’);
END IF;
dbms_output.put Jine(’Exact value of a is: ‘|| a);
END;
/

When the above code is executed at the SQL prompt, it produces the following result –
None of the values is matching
Exact value of a is: 100
PL/SQL procedure successfully completed.

CASE statement:
Like the IF statement, the CASE statement selects one sequence of statements to execute. However, to select the sequence, the CASE statement uses a selector rather than multiple Boolean expressions. A selector is an expression, the value of which is used to select one of several alternatives. Syntax:
The syntax for the case statement in PL/SQL is –
CASE selector
WHEN Valuel’ THEN S1;
WHEN ’value2’ THEN S2;
WHEN ‘value3’ THEN S3;
……….
……….
ELSE Sn; — default case
END CASE;

Flow Diagram

Example
DECLARE
BEGIN
when ‘A’ then dbrns_output.put_line(‘Excel!ent’);
when ‘B’ then dbms_output.put_line(‘Very good’);
when ‘C’ then dbms_output.put_iine(‘Well done’);
when ‘D’ then dbms_output.put_line(‘You passed’);
when ‘F then dbms_output.put_line(‘Better try again’);
END-CASE;
END;
/

When the above code is executed at the SQL prompt, it produces the following result –
Excellent
PL/SQL procedure successfully completed.

Question 4.
Explain Steps to create PL/SQL Program
PL/SQL programs are divided and written in logical blocks of code. Each block consists of three sub-parts –

 S. No Sections & Description 1. Declarations This section starts with the keyword DECLARE. It is an optional section and defines all variables, cursors, subprograms, and other elements to be used in the program. 2. Executable Commands This section is enclosed between the keywords BEGIN and END and it is a mandatory section. It consists of the executable PL/SQL statements of the program. It should have at least one executable line of code, which may be just a NULL command to indicate that nothing should be executed. 3. Exception Handling This section starts with the keyword EXCEPTION. This optional section contains exception(s) that handle errors in the program.

Every PL/SQL statement ends with a semicolon (;). PL/SQL blocks can be nested within other PL/SQL blocks using BEGIN and END. Following is the basic structure of a PL/SQL block –

DECLARE
declarations section>
BEGIN
<executable command(s)>
EXCEPTION <exception handling>
END;

The ‘Hello World’ Example
DECLARE
message varchar2(20):= ‘Hello, World!’;
BEGIN
dbms_output.put_line(message);
END;
/

Question 5.
Discuss about PL/SQL Iterative Control Statements.
Answer: An iterative control Statements are used when we want to repeat the execution of one or more statements for specified number of times.

There are three types of loops in PL/SQL:

1. Simple Loop
2. While Loop
3. For Loop

1) Simple Loop
A Simple Loop is used when a set of statements is to be executed at least once before the loop terminates. An EXIT condition must be specified in the loop, otherwise the loop will get into an infinite number of iterations. When the EXIT condition is satisfied the process exits from the loop.
The General Syntax to write a Simple Loop is:
Syntax:
LOOP
statements;
EXIT;
{or EXIT WHEN condition;}
END LOOP;

These are the important steps to be followed while using Simple Loop.

1. Initialise a variable before the loop body.
2. Increment the variable in the loop.
3. Use a EXIT WHEN statement to exit from the Loop. If you use a EXIT statement without WHEN condition, the statements in the loop is executed only once.

Example
DECLARE
x number := 10;
BEGIN
LOOP
dbms_output.put_line(x); x:=x + 10;
IF x > 50 THEN
exit;
END IF;
END LOOP;
– after exit, control resumes here
dbms_outputput_line(‘After Exit x is: ‘|| x); .
END;
/

When the above code is executed at the SQL prompt, it produces the following result –
10
20
30
40
50
After Exit x is: 60

PL/SQL procedure successfully completed.

2) While Loop:
A WHILE LOOP is used when a set of statements has to be executed as long as a condition is true. The condition is evaluated at the beginning of each iteration. The iteration continues until the condition becomes false.
The General Syntax to write a WHILE LOOP is:

WHILE <condition>
LOOP statements;
END LOOP;

Important steps to follow when executing a while loop:
1) Initialize a variable before the loop body.
2) Increment the variable in the loop.
3) EXIT WHEN statement and EXIT statements can be used in while loops but it’s not done often.

Example
DECLARE
a number(2) := 10;
BEGIN
WHILE a < 20 LOOP
dbms_output.put_line(‘value of a:’ || a);
a :=a + 1;
END LOOP;
END;
/

When the above code is executed at the SQL prompt, it produces the following result –

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

PS/SQL procedure successfully completed.

3) FOR Loop:
A FOR LOOP is used to execute a set of statements for a predetermined number of times. Iteration occurs between the start and end integer values given. The counter is always incremented by 1. The loop exits when the counter reachs the value of the end integer. The General Syntax to write a FOR LOOP is:

FOR counter IN val1..val2
LOOP statements;
END LOOP;

val1 – Start integer value.
val2 – End integer value.

Important steps to follow when executing a For loop:

1) The counter variable is implicitly declared in the declaration section, so it’s not necessary to declare it explicitly.
2) The counter variable is incremented by 1 and does not need to be incremented explicitly.
3) EXIT WHEN statement and EXIT statements can be used in FOR loops but it’s not done oftenly.

Example

DECLARE
a number(2);
BEGIN
FOR a in 10 ..20 LOOP
dbms_output.put_line(‘value of a:’ || a);
END LOOP;
END;
/

When the above code is executed at the SQL prompt, it produces the following result –
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20

PL/SQL procedure successfully completed.

Question 6.
What is cursor? Explain what are the operations performed on Cursors.
A cursor is an SQL object that is associated with a specific table expression. The RDBMS uses cursors to navigate through a set of rows returned by an embedded SQL SELECT statement. A cursor can be compared to a pointer.

The programmer declares a cursor and defines the SQL statement for the cursor. After that you can use the cursor like a sequential file. The cursor is opened, rows are fetched from the cursor, one row at a time, and at the end of processing the cursor is closed.

Cursor Operations: The four operations that must be performed for the successful working of the cursor are:

• Declare – This statement defines the cursor, gives it a name to it and assigns an SQL statement to it. The DECLARE statement does not execute the SQL statement but merely defines it.
• OPEN – This makes the cursor ready for row retrieval. OPEN is an executable statement. IT reads the SQL search fields, executes the SQL statement and sometimes builds the result table.
• FETCH – This statement returns data from the result table one row at a time to the host variables. If the result table is not built at the OPEN time, it is built during FETCH.
• CLOSE – Releases all resources used by the cursor. When cursors are used to process multiple rows, the cursor is DECLAREd and OPENed and the FETCH statement is coded in a loop that reads and processes each row. At the end of the processing, that is when there are no more rows to be fetched. The cursor is then CLOSEd.

You can modify or delete a row by using the SQL statements UPDATE and DELETE. But if you want to read a row and depending upon the values in the row, you want to modify, delete or do nothing, you can do that with a cursor. This is accomplished with a cursor and a special clause of UPDATE and DELETE statements usable only by embedded SQL statements, namely WHERE CURRENT OF. The cursor is declared with a special FOR UPDATE OF clause.

Example:
The following is a complete example of cursor for printing a list of chief and name of departments as follows:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
–declare a cursor
CURSOR cur_chief IS
SELECT first_name,
last_name,
department_name
FROM employees e
INNER JOIN departments d ON d.managerjd = e.employeejd;
r_chiefcur_chief%ROWTYPE;
BEGIN
OPEN cur.chief;
LOOP
– fetch information from cursor into record
FETCH cur_chief INTO r_chief;
EXIT WHEN cur_chief%NOTFOUND;
-print department-chief
DBMS_OUTPUT.PUT_LINE(r_chief.department_name || ‘-‘ ||
r_chief.first_name ||’ ‘,’ ||
r_chief.last_name);
END LOOP;
— close cursor cur_chief
CLOSE cur_chief;
END;
/

Question 7.
Write about different types of Cursor
When an SQL statement is processed, Oracle creates a memory area known as context area. A cursor is a pointer to this context area. It contains all information needed for processing the statement. In PL/SQL, the context area is controlled by Cursor. A cursor contains information on a select statement and the rows of data accessed by it.

A cursor is used to referred to a program to fetch and process the rows returned by the SQL statement, one at a time. There are two types of cursors:
1. Implicit Cursors
2. Explicit Cursors

1) PL/SQL Implicit Cursors
The implicit cursors are automatically generated by Oracle while an SQL statement is executed, if you don’t use an explicit cursor for the statement.
These are created by default to process the statements when DML statements like INSERT, UPDATE, DELETE etc. are executed.

Orcale provides some attributes known as Implicit cursors attributes to check the status of DML operations. Some of them are: %FOUND, %NOTFOUND, %ROWCOUNT and %ISOPEN.

For example: When you execute the SQL statements like INSERT, UPDATE, DELETE then the cursor attributes tell whether any rows are affected and how many have been affected. If you run a SELECT INTO statement in PL/SQL block, the implicit cursor attribute can be used to find out whether any row has been returned by the SELECT statement. It will return an error if there no data is selected.

The following table specifies the status of the cursor with each of its attribute.

 Attribute Description %FOUND Its return value is TRUE if DML statements like INSERT, DELETE and UPDATE affect at least one row or more rows or a SELECT INTO statement returned one or more rows. Otherwise it returns FALSE. %NOTFOUND Its return value is TRUE if DML statements like INSERT, DELETE and UPDATE affect no row, or a SELECT INTO statement return no rows. Otherwise it returns FALSE. It is a just opposite of %FOUND. %ISOPEN It always returns FALSE for implicit cursors, because the SQL cursor is automatically closed after executing its associated SQL statements. %ROWCOUNT It returns the number of rows affected by DML statements like INSERT, DELETE, and UPDATE or returned by a SELECT INTO statement.

2) PL/SQL Explicit Cursors
The Explicit cursors are defined by the programmers to gain more control over the context area. These cursors should be defined in the declaration section of the PL/SQL block. It is created on a SELECT statement which returns more than one row.

Syntax of explicit cursor
CURSOR cursor_name IS select_statement:;

Steps:
You must follow these steps while working with an explicit cursor.
1. Declare the cursor to initialize in the memory.
2. Open the cursor to allocate memory.
3. Fetch the cursor to retrieve data.
4. Close the cursor to release allocated memory.

1) Declare the cursor:
It defines the cursor with a name and the associated SELECT statement.
Syntax for explicit cursor decleration
CURSOR name
IS SELECT statement;

2) Open the cursor:
It is used to allocate memory for the cursor and make it easy to fetch the rows returned by the SQL statements into it.
Syntax for cursor open:
OPEN cursor_name;

3) Fetch the cursor:
It is used to access one row at a time.
Syntax for cursor fetch:
FETCH cursor_name INTO variable_list;

4) Close the cursor:
It is used to release the allocated memory. The following syntax is used to close the above-opened cursors. Syntax for cursor close:
Close cursor_name;

TRIAL AND EXECUTION OF BHAGAT SINGH

Shortly after the arrest of Bhagat Singh and trial for the Assembly bombing, the British came to know of his involvement in the murder of J.P. Saunders. Consequently, Bhagat Singh, Rajguru, and Sukhdev were charged with the murder. Bhagat Singh had decided to use the court as a tool to publicize his cause for the independence of India. He admitted to the murder and made statements against the British rule during the trial. The case was ordered to be carried out without members of the HSRA present at the hearing. This created an uproar amongst Bhagat Singh’s supporters as he could no longer publicise his views in the media.

While in jail, Bhagat Singh and other prisoners launched a hunger strike advocating for the rights of prisoners and those facing trial. During the hunger strike that lasted 63 days and ended with the British succumbing to his wishes, he gained much popularity among the common Indians. Before the strike his popularity was limited mainly to the Punjab region. Later, on March 23, 1931, Bhagat Singh was hanged in Lahore with his fellow freedom-fighters Rajguru and Sukhdev.

For the next two years Chandra Shekhar Azad successfully evaded arrest. Government announced an increased reward of ₹ 30,000 on him, dead or alive. He went underground and from there he planned an armed revolution and for this purpose he secured ₹ 14,000 by an armed ‘robbery’ in Delhi on July 6, 1930. It is in the course of the investigation of this case that the police got hold of information of Chandra Shekhar’s secret plot of armed revolution. The police also discovered a bomb factory in Delhi with a stock of chemicals enough to make explosives to fill about 6,000 bombs.

Chandra Shekhar now fled to Punjab and intensified his revolutionary activities there. On December 23, 1930, Hari Kishan, who belonged to ‘Mardan ’ in the NWFP and had earlier taken part in Naujwan Bharat Sabha started by Bhagat Singh, shot at the Punjab Governor, Sir Geoffrey de Montemorrency, at the annual convocation of Punjab University at Lahore. It is believed that Hari Kishan got the inspiration and help from Azad. The police also concluded that Chandra Shekhar must be hiding in Punjab.

In the meantime, the Lahore Conspiracy Case gave a severe blow to the Hindustan Socialist Republican Association. Almost all its leaders were arrested. Chandra Shekhar Azad made a desperate attempt to rally a few workers who were still at large. For this purpose he went to Allahabad to meet an old companion, at Alfred Park, on February 27, 1931. One of those who knew about this meeting leaked the information to the police. A big police party in plain clothes surrounded them in the park.

AZAD—TERROR FOR BRITISH, MARTYR FOR INDIANS

Chandra Shekhar Azad was a terror for British Police. How important his role was in the freedom struggle of India can be understood by the fact that he was on the hit list of British Police and they badly wanted to nab him dead or alive and even declared a reward of ₹ 30,000 on him.

On the 27th of February, 1931 Chandra Shekhar Azad met two of his allies, probably, Veer Bhadra Tiwari and Sukhdev Raj. Sukhdev Raj was there along with Veer Bhadra for a briefing on his mission to Russia. The Revolutionaries of the HSRA or the Hindustan Socialist Republican Association were planning a revolution in India with the help of the Communists of Russia. Veer Bhadra excused himself saying he had an appointment, and left. He had been behaving highly suspiciously for a few days.

A few minutes later a brigade of policemen suddenly fired a shot and surrounded the park. Azad asked Sukhdev Raj flee and said that he would continue the fight. He was injured in his leg. The Superintendent asked him to raise his hands and come out. And the next moment, the superintandant fell to the ground in agony as a bullet ripped through his arm. The brigade opened merciless fire in the course of which Azad was badly injured. He himself had already shot at least three policemen dead and many more were injured.

At Alfred Park, behind an old neem tree, Azad made his last stand, one which would characterise the Indian independence movement. Till his last breath the soldiers were terrified of his sharp shooting skills. And this was to be the final stage of his movement, the final scene in his life as well as the end of the revolutionaries of the HSRA. Seeing no way out Azad loaded his last bullet into his gun, it would be the last bullet he ever fired; he would be the last man he ever killed in the struggle for Indian Independence. Chandra Shekhar Azad put the gun to his temple and shot himself. He had truly vowed to remain ‘Azad’ meaning (free), all his life.

He had declared that as long as he had his ‘bumtulbukara’ or his pistol no one would ever catch him alive. He said that he would never be taken to the gallows tied up. His favourite couplet and only known composition: “Dushman ki goliyon ka hum samna karenge Azad hee rahein hain, azad hee raheinge!” proved its meaning in reality. Years of man hunt, terror, raids, assassinations and demonstrations had at last ended for the British Raj. With Azad, all the revolutionaries were finished.

Chandra Shekhar Azad engaged for long exchanging fire with the police, loading and reloading his revolver. He was sheltered by a single neem tree. When he came down to the last bullet, he shot himself rather than being captured by the British.

Chandra Shekhar fought alone against huge numbers, with revolvers in both hands. He killed several policemen and wounded the British police Superintendent, Nott Bower and an Indian police officer, Bisheshwar Singh. His arm and leg had been riddled with bullets. He fought like a lion.

He also died like a lion. ‘There were two wounds on the lower part of his right leg. Another bullet was extracted from the right thigh. The fatal wound appeared to be on the right side of the head and another in the chest. The body was sent to Rasulabad Ghat for cremation which was performed under strict police guard. Thus a blazing meteor illumined that dark firmament of political subjection with its own brilliance during the short duration of its course moving towards total extinction in the limitless womb of eternity having a name that would adorn the pages of history.

For days, people gathered to see the ‘holy neem tree’ which had sheltered the great revolutionary. Even children went regularly to touch the soil where Azad had lain, free till the last from the British yoke. Angry with this mass reverence, the British finally ordered that the neem tree be felled. A memorial stands in its place today.

He was 24 years, 7 months and 4 days old when he died. A freedom fighter and a martyr every Indian should be proud of.

After the independence of India, to commemorate Chandra Shekhar Azad, Alfred Park was renamed Chandra Shekhar Azad Park. His pistol is still kept in Allahabad Museum and is a great attraction for tourists. His very rare photographs are also placed in the Museum.

Born in an extremely poor family, Chandra Shekhar Azad showed exceptional leadership qualities from his early childhood days. At times Azad’s family would go without food for a whole day. Nothing to wear, nothing to eat Azad’s childhood days had nothing exceptional story to say. Yet, when Bhagat Singh once asked him about his family so that they could help-them, Azad replied, “I am not fighting this battle to gain a name in history, and my family does not need any help to survive.”

As the head of Hindustan Republican Army, Azad controlled the transaction of thousands of rupees, yet not a single buck got misplaced. Azad is one of the most misunderstood revolutionary in Indian history, inspite of the fact that he played the most important role in the revolutionary movement of India, history has a very little place to offer to him. Even Jawahar Lal Nehru referred to Azad and his organisation as a fascist organisation which was far from truth.

Azad was never a fascist, he started his nationalistic career by participating in the non-cooperation movement of 1921 under Mahatma Gandhi. When arrested young, Azad was asked about his family and name to which he replied, “Freedom is my name and free India is my family.” Irritated judge ordered Azad to be thrashed with a cane, yet the boy kept on chanting Vande Mataram while facing this ordeal. Such was his sacrifice, which was never matched by the people calling him fascist. But soon Azad got disillusioned with the Gandhian ways when Gandhi called off the non-Cooperation movement abruptly after the Chauri-Chaura incident.

It proved a turning point in his life, as the next ten years showed Azad adopt violent methods as a mean to achieve his target. One after another from Kakori train robbery to the murder of Saunders, Azad never looked back. Yet he was a keen admirer of peace and wanted to turn to more novel way to express his thoughts. But the Congress pact with the British Government turned the tables on him. Now the young revolutionaries could not even look towards their fellow countrymen for sympathy.

It is said that the Indian soldiers who saw him die did not approach his dead body for 20 minutes. He had always induced the guilt in Indian soldiers and policemen working for the British government, wherever he went, claiming that ‘they were not of the true Indian blood’.

Once Azad had remarked that ‘there can be no British power on earth that could arrest him’, true to his determination and name, Azad remained free throughout his life as a mortal being.

Jhansi has been a place of pilgrimage for the patriots and freedom fighters ever since the martyrdom of Rani Lakshmibai, Chandra Shekhar Azad was also inspired and attracted to Jhansi for his revolutionary activities.

In his very brief life of 24 years, Chandra Shekhar Azad had made Jhansi his organisation’s hub for a considerable duration.
He chose the forest of Orchha (15 kilometers from Jhansi) for shooting practice. He was a brilliant shooter and he used to train other members of his group here. Near the forest, on the banks of a small river called Saataar, by a temple of Lord Hanuman, Azad established a small hut. He lived there in the disguise of Pandit Harishankar Brahmachari. He taught kids of the nearby village Dhimarpura, and also managed to establish good rapport with the local residents. The village Dhimarpura is now named after him and is known as Azadpura.

In Jhansi, he learnt car driving at Bundelkhand Motor Garage in Sadar Bazaar, in the Cantonment area. In Jhansi, he met Sadashivrao Malkapurkar, Vishwanath Vaisham- payan, Bhagwan Das Mahaur and they all became an integral part of his revolutionary group. The then congress leaders from Jhansi Pandit Raghunath Vinayak Dhulekar and Pandit Sitaram Bhaskar Bhagwat were also close aides of Chandra Shekhar Azad.

Chandra Shekhar Azad stayed in Master Rudra Narayan Singh’s house at Nai Basti and Pandit Sitaram Bhaskar Bhagwat’s house in Nagra.

Jhansi was a safe place in Chandra Shekhar Azad’s own words and true to them, as soon as he left Jhansi, he fell victim to betrayal by a group member who turned a police informer.

## PL/SQL Long Answer Type Questions Part 1

Question 1.
PL/SQL Procedural Language/Structured Query Language. PL/SQL extends SQL by adding extra flavors like variables, conditional statements, looping structures, cursor management, exception handling statements etc. PL/SQL combines the flexibility of SQL with the power of programming language.

Features:
PL/SQL has the following features –

• PL/SQL is tightly integrated with SQL.
• It offers extensive error checking.
• It offers numerous data types.
• It offers a variety of programming structures.
• It supports structured programming through functions and procedures.
• It supports object-oriented programming.
• It supports the development of web applications and server pages.

PL/SQL has the following advantages –

• SQL is the standard database language and PL/SQL is strongly integrated with SQL. PL/SQL supports both static and dynamic SQL. Static SQL supports DML operations and transaction control from PL/SQL block. In Dynamic SQL, SQL allows embedding DDL statements in PL/SQL blocks.
• PL/SQL allows sending an entire block of statements to the database at one time. This reduces network traffic and provides high performance for the applications.
• PL/SQL gives high productivity to programmers as it can query, transform, and update data in a database.
• PL/SQL saves time on design and debugging by strong features, such as exception handling, encapsulation, data hiding, and object-oriented data types.
• Applications written in PL/SQL are fully portable.
• PL/SQL provides high security level.
• PL/SQL provides support for Object-Oriented Programming.

1. PL/SQL is proprietary to Oracle which means if you were to change database vendors then you would have to re-write all your Oracle PL/SQL programs

2. Oracle PL/SQL is that there is very little support for i/o either to read/write files or to read from or write to a user interface. The rationale behind this is that PLSQL is designed for manipulating information from the database and not for processing files or communicating with users.

Question 2.
Write about the Structure of PL/SQL.
Each PL/SQL program consists of SQL and PL/SQL statements which from a PL/SQL block.
A PL/SQL Block consists of three sections:

• The Declaration section (optional)
• The Execution section (mandatory)
• The Exception (or Error) Handling section (optional).

Declaration Section:
The Declaration section of a PL/SQL Block starts with the reserved keyword DECLARE. This section is optional and is used to declare any placeholders like variables, constants, records and cursors, which are used to manipulate data in the execution section. Placeholders may be any of Variables, Constants and Records, which stores data temporarily. Cursors are also declared in this section.

Execution Section:
The Execution section of a PL/SQL Block starts with the reserved keyword BEGIN and ends with END. This is a mandatory section and is the section where the program logic is written to perform any task. The programmatic constructs like loops, conditional statement and SQL statements form the part of execution section.

Exception Section:
The Exception section of a PL/SQL Block starts with the reserved keyword EXCEPTION. This section is optional. Any errors in the program can be handled in this section, so that the PL/SQL Blocks terminates gracefully. If the PL/SQL Block contains exceptions that cannot be handled, the Block terminates abruptly with errors.

Every statement in the above three sections must end with a semicolon ; . PL/SQL blocks can be nested within other PL/SQL blocks. Comments can be used to document code.

This is how a sample PL/SQL Block looks.

DECLARE
Variable declaration
BEGIN
Program Execution
EXCEPTION
Exception handling
END;

Sample Program:
Begin
dbms_output.putJine(‘Hello World’);
dbms_output.putJine(‘How Are You?’);
dbms_output.putJine(‘Bye Bye’);
End;

Program to initialize two variables of type Number and calculate their sum.
Declare
a Number .-100; b Number := 200; c Number;
Begin
c := a+b; .
dbms_output.putJine(‘Sum of a,b is: ’||c);
End;

Program to initialize two variables of type number and swap their values without using third variable.
Declare
a number:=10; b number:=20;
Begin
a:=a+b;
b:=a-b; .
a:=a-b;
dbms_output.putJine(‘Vaiue of a: ’||a); dbms_output.put_line(‘Valueofa:’||b);
End;

Question 3.
The following are the PL/SQL Language
Elements:
Blocks: Blocks are the organizational unit for all PL/SQL code, whether it is in the form of an anonymous block, procedure, function, trigger or type. A PL/SQL block is made up of three sections (declaration, executable and exception), of which only the executable section is mandatory.
[DECLARE
— declarations]
BEGIN
— statements
[EXCEPTION
— handlers
END;

Variables and Constants
Variables and constants must be declared for use in procedural and SQL code, although the data types available in SQL are only a subset of those available in PL/SQL. All variables and constants must be declared before they are referenced. The declarations of variables and constants are
similar, but constant definitions must contain the CONSTANT keyword and must be assigned a value as part of the definition. Subsequent attempts to assign a value to a constant will result in an error. The following example shows some basic variable and constant definitions, along with a subsequent assignment of a value to a constant resulting in an error.

DECLARE
l_string VARCHAR2(20);
l_number NUMBER(10):
l_con_string CONSTANT VARCHAR2(20) := ‘This is a constant’;
BEGIN
l_string := ‘Variable’;
l_number :=1,
l_con_string – ‘This will fail’;
END,
/
l_con_string ;= ’This will faff;
ERROR at line 10;
ORA06550: line 10, column 3:
PLS-00363; expression L_CON_STRING’ cannot be used as an assignment target
ORA-06550: line 10, column 3;
PL/SQL: Statement ignored
SQL>

Using SQL in PL/SQL

The SQL language is fully integrated into PL/SQL, so much so that they are often mistaken as being a single language by newcomers. It is possible to manually code the retrieval of data using explicit cursors, or let Oracle do the hard work and use implicit cursors. Examples of both explicit implicit cursors are presented below, all of which rely on the following table definition table.

CREATE TABLE sqlJest (
id NUMBER(10),
description VARCHAR2(10)
): _
INSERT INTO sql Jest (id, description) VALUES (1, ‘One’); ‘
INSERT INTO sql Jest (id, description) VALUES (2, Two1);
INSERT INTO sql Jest (id, description) VALUES (3, Three’);
COMMIT;

Branching and Conditional Control
The IF-THEN-ELSE and CASE statements allow code to decide on the correct course of action for the current circumstances. In the following example the IF-THEN- ELSE statement is used to decide if today is a weekend day.

SET SERVEROUTPUT ON
DECLARE
l_day VARCHAR2(10);
BEGIN
l_day := TRIM(TO_CHAR(SYSDATE, ‘DAY’));

IF Lday IN (‘SATURDAY’, ‘SUNDAY’) THEN
DBMS_OUTPUT.putJine(‘lt”s the weekend!’);
ELSE
DBMS_OUTPUT.putJine(‘lt”s not the weekend yet!’);
END IF;
END;

Looping Statements
Loops allow sections of code to be processed multiple times. In its most basic form a loop consists of the LOOP and END LOOP statement, but this form is of little use as the loop will run forever.

BEGIN
LOOP
NULL; .
END LOOP;
END;
/

Procedures and functions allow code to be named and stored in the database, making code reuse simpler and more efficient. Procedures and functions still retain the block format, but the DECLARE keyword is replaced by PROCEDURE or FUNCTION definitions, which are similar except for the additional return type definition for a function. The following procedure displays numbers between upper and lower bounds defined by two parameters, then shows the output when it’s run.

CREATE OR REPLACE PROCEDURE display_numbers
( p_lower IN NUMBER, p_upper IN NUMBER)
AS
BEGIN
FOR i IN p_lower.. p_upper LOOP
DBMS_OUTPUT.putJine(i);
END LOOP;
END;
/
SET SERVEROUTPUT ON
EXECUTE display_numbers(2,6);
2
3
4
5
6
PL/SQL procedure successfully completed.
SQL>

The following function returns the difference between upper and lower bounds defined by two parameters.

CREATE OR REPLACE FUNCTION
difference ( p_lower IN NUMBER, p_upper IN NUMBER)
RETURN NUMBER AS
BEGIN
RETURN p_upper – p_lower;
END;
/
VARIABLE Lresult NUMBER BEGIN
:l_result := difference(2,6);
END;
PL/SQL procedure successfully completed.
PRINT Lresult
L_RESULT
———–
4
SQL>

Packages allow related code, along with supporting types, variables and cursors, to be grouped together. The package is made up of a specification that defines the external interface of the package, and a body that contains all the implementation code. The following code shows how the previous procedure and function could be grouped into a package.

CREATE OR REPLACE PACKAGE my_package AS
PROCEDURE display_numbers (
p_lower IN NUMBER, p_upper IN NUMBER);
FUNCTION difference (
p_lower IN NUMBER, p_upper IN NUMBER)
RETURN NUMBER;
END;
/

CREATE OR REPLACE PACKAGE BODY my_package AS
PROCEDURE display_numbers (
p_lower IN NUMBER, p_upper IN NUMBER)
AS
BEGIN
FOR i IN p_lower .. p_upper LOOP
DBMS_OUTPUT.put_line(i);
END LOOP;
END;
FUNCTION difference (
p_lower IN NUMBER,
p_upper IN NUMBER)
RETURN NUMBER
AS
BEGIN
RETURN p_upper – p_lower;
END;
END;
/

Once the package specification and body are compiled they can be executed as before, provided the procedure and function names are prefixed with the package name.

SET SERVEROUTPUT ON
EXECUTE my_package.display_numbers(2,6);
2
3
4
5
6
PL/SQL procedure successfully completed.

VARIABLE l_result NUMBER
BEGIN
:l_result := my_package.difference(2,6);
END;
/
PL/SQL procedure successfully completed.
PRINT l_result
L_RESULT
SQL>

Since the package specification defines the interface to the package, the implementation within the package body can be modified without invalidating any dependent code, thus breaking complex dependency chains. A call to any element in the package causes the whole package to be loaded into memory, improving performance compared to loading several individual procedures and functions.

Triggers
Database triggers are stored programs associated with a specific table, view or system events, such that when the specific event occurs the associated code is executed. Triggers can be used to validate data entry, log specific events, perform maintenance tasks or perform additional application logic. The following example shows how a table trigger could be used to keep an audit of update actions.

–Create and populate an items table and creat an audit log table.

CREATE TABLE items (
id NUMBER(10),
description VARCHAR2(50),
price NUMBER(10,2),
CONSTRAINT items_pk PRIMARY KEY (id)
);
CREATE SEQUENCE items_seq;
INSERT INTO items (id, description, price) VALUES
(items_seq.NEXTVAL,’PC’, 399.99);
CREATE TABLE items_audit_log (
Id NUMBER(10),
itemjd NUMBER(10),
description VARCHAR2(50),
old_price NUMBER(10,2),
new_priceNUMBER(10,2),
log_date DATE,
CONSTRAINT items_audit_log_pk PRIMARY KEY (id)
);
CREATE SEQUENCE items_auditJog_seq;
– Create a trigger to log price changes of items.
CREATE OR REPLACE TRIGGER items_aru_trg
AFTER UPDATE OF price ON items
FOR EACH ROW
BEGIN
INSERT INTO items_auditJog (id, itemjd, description, old_price, new_price, log_date)
VALUES (items_auditJog_seq.NEXTVAL, :new.id, :new.description, :old.price, :new.price, SYSDATE);
END;
/

— Check the current data in the audit table, should be no rows.
COLUMN description FORMAT A10
SELECT * FROM items_audit_log;
no rows selected
— Update the price of an item.
UPDATE items SET price?499.99
WHERE id =1;
– Check the audit table again.
COLUMN description FORMAT A10
SELECT * FROM items_audit_log;
ID ITEMJD DESCRIPTIO OLD_PRICE NEW.PRICE LOG_DATE
——— ——- ——— ———- ——–
1 1 PC 399.99 499.99 19-AUG-2005 10:14:11
1 row selected,
— Clean up.
DROP TABLE items_audit_log;
DROP TABLE items;

Error Handling
When PL/SQL detects an error normal execution stops and an exception is raised, which can be captured and processed within the block by the exception handler if it is present. If the block does not contain an exception handler section the exception propagates outward to each successive block until a suitable exception handler is found, or the exception is presented to the client application.

Oracle provides many predefined exceptions for common error conditions, like NO DATA FOUND when a SELECT … INTO statement returns no rows. The following example shows how exceptions are trapped using the appropriate exception handler. Assume we want to return the username associated with a specific user id value, we might do the following.

SET SERVEROUTPUT ON
DECLARE
BEGIN
UNIT – V (DBMS5EM)
FROM all_users
WHERE userid = l_userid;
END;
/
PL/SQL procedure successfully completed. SQL>

Question 4.
Write about Data types in PL/SQL
Every programming language has built-in data types which are used for declaring variables and many other related tasks. Variable is nothing but the name of the memory space. Every variable has a data type which specifies the storage format, set of specified values, range of the variable and many other such factors.

Variables have to be defined in the declaration section of a PL/SQL program. However, its not mandatory to include a declaration section and variable declaration in a PL/SQL program if its not required.

The Data Types used in PL/SQL are as follows:

1. Scalar types:
Scalar data type haven’t internal components, it is like a linear data type. Scales data type divides into four different types character, numeric, boolean or date/time type.
i) Numeric Data types: Following are numeric data types in PL/SQL:
NUMBER data type used to store numeric data. It’s contain letters, numbers, and special characters.

Storage Range: Precision range(p) : 1 to 38 and Scale range(s) : -84 to 127

NUMBER Subtypes: This sub type defines different types storage range.
a) NUMBER (p,s): This data types are used to store fixed decimal points. You can use based on your requirements

 Sub Data Types Maximum Precision INTEGER 38 Digits INT 38 Digits SMALLINT 38 Digits DEC 38 Digits DECIMAL 38 Digits NUMERIC 38 Digits REAL 63 Binary Digits DOUBLE PRECISION 126 Binary Digits FLOAT 126 Binary Digits

b) BINAR YINTEGER: BINARYINTEGER data type store signed integer’s value.

Note: BINAR YINTEGER values require less storage space compare of NUMBER data type values.

Storage Range: from -2147483647 to 2147483647

BINARY INTEGER Sub-Types: This sub type define constraint to store a value
i) NATURAL/POSITIVE: This data type prevent to store negative value, allow only positive values
ii) NATURAL N/PQSITIVE N: This data type prevent
to assign a NULL value .
iii) SIGN TYPE: It allow only -1,0, and 1 values

c) PLS_INTEGER: This data type used to store signed integers data.
Note: PLS_INTEGER data type value require less storage space compare of NUMBER data type value.
Storage Range: From -2147483647 to 2147483647 .
Performance: PLS INTEGER data type give ypi# better performance on your data. PLS INTEGER perform arithmetic operation fast than NUMBER/ BINARY_ INTEGER data type.

ii) Character Data types:
Character Data types used to store alphabetic/ alphanumeric character. Following are some character data types in PL/SQL

 Data types Description Storage(Maximum) CHAR CHAR data type used 32767 bytes to store character data within predefined length. NCHAR NCHAR data type used to store national character data within the predefined length. 32767 bytes NVARCHAR2 NVARCHAR2       data type used to store Unicode string data within predefined length. 32767 bytes RAW The RAW data type used to store binary data such as images, graphics etc. 32767 bytes LONG LONG data type used to store variable string data within predefined length, This data type used for backward compatibility. Please use LONG data to the CLOB type. 32760 bytes LONG RAW LONG RAW data type same as LONG type used to store variable string data within predefined length, This data type used for 32760 bytes backward compatibility. Use LONG RAW data type for storing BLOB type data. ROWID The ROWID data type represents the actual storage address of a row. And table index identities as a logical rowid. This data type used to storing backward compatibility. We strongly recommended to use UROWID data type.

iii) Boolean Data types
Boolean Data types stores logical values either TRUE or FALSE. Let’s see Boolean data types in PL/SQL:

 Data types Description Boolean Boolean data type stores logical values. Boolean data types doesn’t take any- parameters. Boolean data type store either TRUE or FALSE. Also store NULL, Oracle treats NULL as’ an unassigned boolean variable. You can not fetch boolean column value from another table.

iv) Date/Time Data types:
Date/time variable can holds value, we can say date/time data type. PL/SQL automatically converts character value in to default date format (‘DD-MM-YY’) value. Following are the Date/Time data types in PL/SQL:

 Data types Description Range DATE DATE data type stores valid date­time format with fixed length. Starting date from Jan 1, 4712 BC to Dec 31, 9999 AD. Jan 1, 4712 BC: to Dec 31, 9999 AD

2. Composite Types: These types of data types have internal components that can be accessed individually. It includes records and collections.
a) Records: A record is a group of related data items stored in fields, each with its own name and datatype. You can think of a record as a variable that can hold a table row, or some columns from a table row. The fields correspond to table columns.

b) Collections: A collection is an ordered group of elements, all of the same type. It is a general concept that encompasses lists, arrays, and other datatypes used in classic programming algorithms. Each element is addressed by a unique subscript.

3. Reference Types: As the name sounds, it includes pointers that refer to the location of the other data items.

4. Large Objects (LOB) Types: This type of data type stores objects that are relatively large in size and stored separately from other data types such as text, graphic images, video clips, sound, etc. They provide efficient, random, piece-wise access to the data.

Types of LOB:
1. BLOB Datatype: The BLOB datatype stores unstructured binary data in the database. BLOBs can store up to 128 terabytes of binary data.

2. CLOB & NCLOB Datatypes: The CLOB and NCLOB datatypes store up to 128 terabytes of character data in the database. CLOBs store database character set data, and NCLOBs store Unicode national character set data.

3. BFILE Datatypes: The BFILE datatype stores unstructured binary data in operating-system files outside the database. A BFILE column or attribute stores a file locator that points to an external file containing the data. The amount of BFILE data that can be stored is limited by the operating system.

## Biography of Azad: Azad with Bhagat Singh, Lala Lajpat Rai’s Death and the Saunders Murder, Bomb in the Assembly

In the aftermath of the Kakori train robbery in 1925, the British clamped down on revolutionary activities. Pandit Ram Prasad Bismil, Ashfaqullah Khan, Thakur Roshan Singh and Rajendra Lahiri were sentenced to death for their participation. Azad reorganized the HRA with the help of secondary revolutionaries like Shiva Varma and Bhagat Singh Mahavir Singh. He was also an associate of Rasbihari Bose. Azad, along with Bhagat Singh, Sukhdev, and Raj guru, transformed the HRA into the HSRA (Hindustan Socialist Republican Association) in 1927, whose goal was to get complete Indian independence based oh socialist principles.

Chander Shekhar Azad was elected the Commander- in-Chief of armed wing of the party. Plans to manufacture bombs to be used against the Simon Commission and to rob a bank at Bettiah were made.

To throw bombs at the Simon Commission was one of the decisions taken at Feroz Shah Kotla, Delhi meeting. To make arrangements of money for the action, an idea to rob bank at Bettiah was mooted. Bhagat Singh and Azad went there towards the end of September* 1928 and met Phanendra Nath Ghosh and Man Mohan Banerjee but found the plan to rob the bank there unpractical. Thus, a plan to rob the Punjab National Bank of Lahore was hatched by the party and almost all of party members reached there in October 1928. As the action required a car, Mahavir Singh joined a driving school. But the programme had to be abandoned because a suitable car could not be arranged for the plan.

Together, they planned and executed many revolutionary activities. Their group was supposed to be the greatest terror group for British government and police.

The next time the British would face so grave a problem and so fierce an enemy would be 10 years later in 1941. There would be a much more developed and well organised army then lead by none other than Netaji Subhash Chandra Bose, an ardent supporter and sympathizer of Chandra Shekhar Azad and Bhagat Singh.

AZAD THE REVOLUTIONARY ON SOCIALIST PATH

With the success of the Russian revolution in 1917, Azad and many other revolutionaries like Bhagat Singh were increasingly coming under the influence of socialist ideas.

Under Azad’s leadership, all young revolutionaries (Bejoy Kumar Sinha, Shiv Varma and Jaidev Kapur in U.P., Bhagat Singh, Bhagwati Charan Vohra and Sukhdev in Punjab) met in Ferozshah Kotla Ground in Delhi on September 9 and 10, 1928 and re-organized Hindustan Republican Association into Hindustan Socialist Republican Association (HSRA).

The leadership of the new organization was collective and their goal was socialism. Chandra Sekhar was appointed the ‘Commander of the military Division of the Hindustan Socialist Republican Army’ whose aim was to free India from the British through an organized armed struggle. The leadership of HSRA decided to move away from individual heroic action towards mass politics. However, the death of Lala Lajpat Rai from a brutal lathi- charge on anti-Simon Commission demonstration on October 30, 1928 changed the course of HSRA.

LALA LAJPAT RAPS DEATH AND THE SAUNDERS MURDER

The British government created a commission under Sir John Simon to report on the current political situation in India in 1928. The Indian political parties boycotted the commission because it did not include a single Indian as its member and it was met with protests all over the country. When the commission visited Lahore on October 30, 1928, Lala Lajpat Rai led the protest against Simon Commission in a silent non-violent march, but the police responded with violence. Lala Lajpat Rai was beaten with lathis at the chest. He later succumbed to his injuries. Bhagat Singh, who was an eyewitness to this event, vowed to take revenge.

To avenge the death of Lala Lajpat Rai, Azad, Bhagat Singh and Rajguru planned the shooting of J.A. Scott, the Superintendent of Police, Lahore on December 17, 1928. Scott escaped but J. P. Saunders, Assistant Superintendent of Police was killed. Azad, Bhagat Singh and Rajguru quickly left Lahore to escape the police. To avoid recognition, Bhagat Singh shaved his beard and cut his hair, a violation of the sacred tenets of Sikhism but for the cause of freedom of India it was not a violation but a sacrifice.

POSTER-AFTER SAUNDERS’ MURDER

“Notice”
By Hindustan Socialist Republican Army
‘Bureaucracy Beware’

With the death of J.P. Saunders the assassination of Lala Lajpat Rai has been avenged.

It is a matter of great regret that a respect leader of 30 crore of people was attacked by an ordinary police officer like J.P. Saunders and met with his death at his mean hands. This national insult was a challenge to young men.

Today the world has seen that the people of India are not lifeless; their blood has not become cold. They can lay down their lives for the country’s honour. The proof of this has been given by the youth who are ridiculed and insulted by the leaders of their own country.

‘Tyrant Government Beware’

Do not hurt the feelings of the oppressed suffering people of this country. Stop your devilish ways. Despite all your laws preventing us from keeping arms and despite all your watchfulness, people of this country would continue to get pistols and revolvers. Even if these arms are not adequate in numbers for an armed revolution, they would be sufficient for avenging the insult to the country’s honour. Even if our own people condemn us and ridicule us and if foreign government subjects us to any amount of repression, we shall all be ever ready to teach a lesson to foreign tyrants who insult our national honour. Despite all opposition and repression, we shall carry forward the call for revolution and even we go to the scaffold for being hanged, we shall continue to shout;

“Long Live Revolution!”

We are sorry to have killed a man. But this man was a part of cruel, despi-cable and unjust system and killing him was a necessity. This man has been killed as an employ of the British Government. This Government is the most oppressive government in the world.

We are sorry for shedding human blood but it becomes necessary to bathe the altar of Revolution with blood. Our aim is to bring about a revolution which would end all exploitation of man by man.

“Long live Revolution!”

Sd/- Balraj
Commander in Chief, HSRA

18th December, 1928.

Balraj was the pseudonym of Chandra Shekhar Azad. Both wings of the Hindustan Republican Association (HRA) were rechristened HSRA on September 8 and 9, 1928, at Ferozeshah Kotla in Delhi.

AFTER SAUNDERS’ MURDER

From Lahore Chandra Shekhar Azad, Bhagat Singh and Raj gum boarded Calcutta Mail on 20th December 1928. Bhagat Singh met Phanendra on 25th December at the Indian National Congress Session at Calcutta. They persuaded Jatin Nath Das to help them in making bombs. Gun Cotton was made at the Arya Samaj Mandir residence of Kanwal Nath Tiwari. The prepared material was then shifted to party headquarter at Agra.

Work of bomb making started at Hing Ki Mandi party headquarter on 14 February. Jatin Das prepared shells of bombs to fill in the material. Sukhdev went to the Punjab with a sample shell and got many more prepared. Bombs were filled on 24 February 1928. Bhagat Singh, Azad and Phanendra tested the bombs in the ravines of Jhansi.

In a meeting held on 14 February 1928, attended by Azad, Bhagat Singh, Shiv Verma, Sukhdev, Phanendra and B.K. Sinha, a plan was hatched to rescue Jogesh Chand Chatterjee from police custody. He was to be shifted to Lucknow Jail on 16th February. A rescue party comprising Bhagat Singh, Azad, B.K. Sinha, Raj gum, Bhagwan Das and Shiv Verma was formed. But on the D-Day, the police party took the train to Lucknow at 7:00 pm instead of 10:00 pm as scheduled earlier.

This change of programme disturbed the rescue plan. Then it was learnt that as there was no direct train to Lucknow, Jogesh shall be kept at Kanpur police station for a night. Rescue party decided to attack the lock up. But Rajguru who was entrusted to make arrangement of an abode at Kanpur did not succeed and the money to be used in the operation was picked by a thief from the pocket of Azad at railway station. Moreover they found that police station at Kanpur was too strong for them to succeed in the rescue operation. Thus, the plan had to be abandoned. The party headquarter was shifted to Saharanpur by the end of March 1928.

BOMB IN THE ASSEMBLY

In the face of actions by the revolutionaries, the British government enacted the Defence of India Act to give more power to the police. The purpose of the Act was to combat revolutionaries like Azad and Bhagat Singh. The Act was defeated in the council by one vote. However, the Act was then passed under the ordinance that claimed that it was in the best interest of the public. In response to this act, the Hindustan Socialist Republican Association planned to explode a bomb in the Central Legislative Assembly where the ordinance was going to be passed. Initially, Chandra Shekhar Azad, attempted to stop Bhagat Singh from carrying out the bombing. However, the remainder of the party forced him to succumb to Bhagat Singh’s wishes. It was decided that Bhagat Singh and Batukeshwar Dutt would throw the bomb in the assembly.

Bhagat Singh wanted to use the British courts to publicize the cause of independence of India in the world through media by throwing a bomb which should not cause any damage to life and property but should make noise and smoke only and to surrender and face trial in the court to publicize.

On April 8, 1929, Singh and Dutt threw a bomb onto the corridors of the assembly and shouted “Inquilab Zindabad!” (“Long Live the Revolution!”). This was followed by a shower of leaflets stating that it takes a loud voice to make the deaf hear. The bomb neither killed nor injured anyone; Bhagat Singh and B.K. Dutt claimed that this was deliberate on their part, a claim substantiated both by British forensic investigators who found that the bomb was not powerful enough to cause injury, and by the fact that the bomb was thrown away from people.

A statement issued later said: “The Bomb was necessary to awaken England from her dreams. We dropped the bomb on the floor of the Assembly Chamber to register our protest on behalf of those who had no other means to give expression to their heart-rending agony. Our sole purpose was to make the deaf hear.”

The Red Leaflet was more expressive. It was signed by Balraj (assumed name of Azad) in his capacity as the Commander-in-Chief of the Hindustan Republican. Army (The Auxiliary Wing). The leaflet read:

“In these extreme provocative circumstances, the Hindustan Socialist Republican Association, In all seriousness, realizing their full responsibility, has decided and ordered its Army to do this particular action, so that a stop be put to this humiliating force and to let the alien bureaucratic exploiters do what they wish, but they must be made to come before the public eye in their naked form. Let the representatives of the people return to their constituencies and prepare the masses for the coming revolution, and let the Government know that while protesting against the public Safety and Trade Disputes Bills and the callous murder of Lala Lajpat Rai, on behalf of the helpless Indian masses, we want to emphasize the lesson often repeated by history, that it is easy to kill individuals but you cannot kill the ideas.

Great empires crumbled while ideas survived. We are sorry to admit that we who attach so great a sanctity to human life, we who dream of a glorious future, when man will be enjoying perfect peace and full liberty, have been forced to shed human blood. But the sacrifices of individuals at the altar of ‘Great Revolution’ that will bring freedom to all, rendering the exploitation of man by man impossible, is inevitable.”

After the bomb explosion in the Assembly Bhagat Singh and B.K. Dutt surrendered to the police themselves as they had planned to publicize the cause of Indian Independence through media during court trial. They were also of the view that they will not be sentenced for long as the bomb they exploded was not a lethal one. Azad remained ‘Azad’ (free) to continue his revolutionary activities.

## Entity Relationship Model Long Answer Type Questions Part 3

Question 1.
Explain First, Second, and Third Normal forms with suitable examples.
Relational data model views data as part of a table or collection of tables. A relation is said to be in First Normal Form (INF) if it contains no repeating groups or multi-valued attributes.

A repeating group is a set of columns that store similar information that repeats in the same table. To transform an unnormalized table into First Normal Form, we identify and remove the repeating groups within the table.

In the above table there are two repeating groups ProjNum and Proj Name. The attribute Proj Num is intended to be a primary key but it contains null values. There is another problem in the above table that is there may be more chance of data inconsistency.

The redundant data in the above table causes the following anomalies:

Update Anomalies:
Modifying the attribute Job Class for employee number 102 requires many alternations one for each Emp_Num 102. Insertion Anomalies:
If a new employee is appointed, we cannot insert the values of that employee unless a project has been assigned to him.

Deletion Anomalies:
If only one employee is assigned to a project and that employee leaves the company, then the employee data is deleted, the project information is will also be lost.

To solve the above anomalies, we convert the above relation into First Normal From. For this we eliminate all the repeating groups in the relation by filling the empty cells with appropriate values.

A Functional Dependency is a constraint between two attributes or two sets of attributes. The keys are identified based on the theory of Functional Dependency.

If there are two attributes A and B, then attribute B is said to be functionally dependent on attribute A if each value in A determines one and only one value in B.

The functional dependency between the attributes A and B can be written as:
A → B or A ? B

The above notations can be read as “A determines B”.
The attribute set on the left-hand side of the arrow is called “Determinant” and the attribute set on right side of the arrow is called “Dependent”.
Both determinant and dependent can be a single attribute or set of multiple attributes. If the key attribute set contains only one attribute, then it is called “Simple Key”, otherwise it is called “Composite Key”.

The attributes that are part of the determinant are called as Key attributes and the attributes that are part of the dependent are called as Non-Key attributes.
Example:
Book : Book ID, Book Title, Author, Publisher In the above relation Book, we can identify different functional dependencies as follows:
Book_ID → Book_Title, Author, Publisher
BookJD, Book_Title → Author, Publisher ,
Book_ID, Book_Title, Author → Publisher

Second Normal Form:
The theory of Normalization depends on the understanding of functional dependency. In the above example, we can identify all the functional dependencies in the table Project Master as follows.
Proj_Num → Proj_Marne
Proj_Num, Emp_Num Hours
Job_Class → Chrg_per_Hour
Emp_Num → Emp_Name, Job_Class, Chrg_per_Hour
The above functional dependencies can be represented as dependent diagrams as follows.

2NF Definition:
A relation is said to be in second normal form if it is in first normal form and every non-key attribute is fully functional dependent on Primary Key. Thus no non-key attribute is functional dependent on some part of the Primary Key. So there should be no partial functional dependency exists in the relation.

Converting a relation from first normal form to second normal is done only when it contains a composite primary key, otherwise it will be in 2NF automatically.

A relation that is in First Normal Form will be in Second Nonna! Form if any one of the following conditions applies:

1. The primary key consists only one attribute.
2. No non-key attribute exists in the relation.
3. Every non-key attribute is functionally dependent on the full set of primary key attribute.

Partial Functional dependency:
It is a functional dependency in which one or more non¬key attributes are functionally dependent on some part of the primary key.
In the above example there is a partial functional dependency in the relation as follows.

Here the non-key attributes Emp_Name, Job Class and Chrg_per_Hour are functionally dependent on some part of the primary key that only on Emp_Num. So the relation is not in Second Normal Form.

Converting to Second Normal Form:
Step 1:
Write the determinants then write the original composite primary key.
Proj_Num
Emp_Num
Proj_Num, Emp_Num

Step 2:
Then decompose the original relation into smaller relations based on the determinants listed.
PROJECT (Proj Num. Proj Name)
EMPLOYEE (Emp Num, Emp Name, Job Class, Chrg_per_Hour)
ASSIGNMENT (Proj Num, Emp Num, Hours)

As the above relations satisfy any one of the above rules, all the relations are said to be in Second Normal Form.

Third Normal Form:

A relation is said to be in Third Normal Form, if it is in second normal form and no transitive dependency exists in the relation.

Transitive Dependency:
A transitive dependency in a relation is a functional dependency between two or more non-key attributes.
In the above example there is a transitive dependency between the non-key attributes JobClass and Chrg__per_Hour. That is the non-key attribute Job_Class determines another non-key attribute Chrg_per_Hour.

Anomalies with Transitive dependencies:
Transitive dependencies cause the following anomalies in database design:

Insertion Anomaly:
If a new JobClass is defined, it cannot be inserted until an employee has been assigned with that job_cTass.

Updation Anomaly:
If Chrg per Hour is changed for a particular Job Class it leads the changes in many rows.

Deletion Anomaly:
If an employee leaves the company, we will loose the information about job_class and its chrg_per_hour also. Converting to Third Normal Form:

Step 1:
Write the determinants in transitive dependencies. Consider these determinants as primary keys for new tables.
Job_Class

Step 2:
Identify the dependent attributes for all the determinants identified in step!
Job_Class → Chrg_per_Hour

Step 3:
Remove all the dependent attributes frpm transitive dependencies and design new tables.
PROJECT (Proj Num. Proj_Name)
EMPLOYEE (Emp Num, Emp Name, Job Class)
JOB (Job_Class, Chrg per Hour)
ASSIGNMENT (Proj Num, Emp Num. Hours)

There are no transitive dependencies exist in the above relations. Hence the relations are in Third Normal Form.

Question 2.
Explain Higher-Level Normal forms with suitable examples.
The relations that are in 3NF satisfy almost all the business rules of an organization. But still there may be some problems with 3NF relations. To eliminate these problems, we use higher normal forms like Boyce-Codd Normal Form (BCNF) and Fourth Normal Form (4NF).

Boyce-Codd Normal Form:
A relation is said to be in Boyce-Codd Normal Form if every determinant in the relation is a candidate key. When a table contains only one candidate key then it is in 3NF and Boyce-Codd Normal Form.

When a relation has more than one candidate key, anomalies may result eventhough that relation is in 3NF. Database relations are designed so that they have neither partial dependencies nor transitive dependencies because these types of dependencies result in update anomalies.

A relation that is in 3NF contains no transitive dependencies in the relation. A transitive dependency is the functional dependency between two or more non-key attributes. If a non-key attribute determines a key-attribute, it does not violate 3NF but it fails to satisfy the Boyce-Codd

Normal Form rule that every determinant in the relation must be a candidate key.

Converting to BCNF:
Consider the following relation which is in 3NF, but it is still having anomalies.

1. A student may have more than one Major.
2. For each Major a student has exactly one Advisor and one GPA.

In the above example, the primary key is the composite key consisting of StudID and Major. Thus the non-key attributes Advisor and GPA are functionally dependent on this key.

There is another functional dependency in the relation that is the non-key attribute Advisor determines the key-attribute Major.

Hence the above relation is not Boyce-Codd Normal Form, because it does not satisfy the condition of BCNF. So the above table design causes the following anomalies.

Updation Anomaly:
If the advisor Charles Babbage is replaced by James Gosling, this change must be made in multiple rows in the table. Insertion Anomaly:
If a new advisor Kautilya is appointed to advise in major Civics, those details can be inserted unless a student selects Economics as major.

Deletion Anomaly:
If we delete the student with StudID 124, we loose the information about the advisor Einsteen advises in Physics. Converting a relation to BCNF:
A relation that is in 3NF can be converted to relations in BCNF using a simple two step process.

Steps 1:
The relation is modified so that the determinant in the relation that is not a candidate key becomes a component of the primary key. The key attribute that is functionally dependent on that determinant becomes a non-key attribute.

The above relation has a partial functional dependency that is Major is functionally dependent on some portion of the primary key. Thus the relation is in INF but not in 2NF.

Step 2:
Decompose the relation to eliminate the partial functional dependencies.

The above two relations are in 3NF. Since there is only one candidate key in each relation they are also in BCNF.

Fourth Normal Form:
A relation is said to be in Fourth Normal Form if it is in BCNF and no multi-valued dependencies in the relation. When a relation is in BCNF and contains no multi-valued dependencies then no anomalies will result in that relation.

Multi-Valued Dependency:
Multi-Valued dependency is a type of dependency which exists when there are atleast three attributes (Ex: A, B, C) in a relation and for each value of A there is a well-defined set of values of B and a well-defined set of values of C. However the set of values of B is independent to set C and set of values of C is independent to set B.

Example:
OFFERING (Course, Instructor, Textbook)
Constraints:

1. Each Course has a well-defined set of Instructors
2. Each Course has a well-defined set of Textbooks
3. The Textbooks used for a given Course are independent of the Instructor for that Course

The above table is an unnormalized relation. So this table has been converted to a relation by filling in all the empty cells.

So the above relation is in First Normal Form. The Primary key for the relation is the composite key consisting of all the attributes Course, Instructor and Textbook, Since there are no determinants other than the primary key, the relation is in BCNF. Yet it contains much redundant data that can lead to update anomalies.

Update Anomaly:
If we want to add one more. Textbook to the Computer Science course, this change would require the addition of three rows one for each instructor.
To remove the multi-valued dependency in the above relation, we divide the relation into two new relations. Each of these tables contains two attributes.
TEACHER (Course, Instructor)
TEXT (Course, Textbook)

The relation TEACHER contains the attributes Course and Instructor. For each Course there is a well-defined set of Instructors.
The relation TEXT contains the attributes Course and Textbook. For each Course there is a well-defined set of Textbooks.
The above relations are in Fourth Normal Form and they are free of anomalies.

Question 3.
The optional relational database implementation requires that all tables be at least in 3NF. The creation of normalized relations is an important database design goal, but it is one of such goals. A good database design also considers processing requirements and processing speed.

The problem with normalization is that as tables are decomposed to conform to normalization requirements, the number of database tables e[pans. Therefore in order to generate information, data must be put together from various tables. Joining a large number of tables takes additional input and output operations and processing logic. These problems reduce the system speed.

However the rare and occasional circumstances may allow some degree of denormalization so processing speed can be increased. The advantage of higher processing speed must be considered against the disadvantage of data anomalies.

The conflicts between design efficiency, information requirements and performance are often resolved through compromises that may include denormalization. The following are the choices of design for denormalization:
1. Store data in a permanent denormalized table. In this the denormalized table is subject to data anomalies. This solution is recommended only if performance is an issue.

2. Create a temporary denormalized table from the permanent normalized tables. Because the denormalized table exists only as long as it takes to generate the report, it disappears after the report is produced. Therefore there are no anomalies.

Question 4.
Draw Railway Reservation system database ER Model.
ER-Diagram of Railway Reservation system

Question 5.
Draw Flight Reservation database ER Model.
ER-Diagram of Flight Reservation system

Question 6.
Draw Bank Management System ER Model
ER-Diagram of Bank Management system

Question 7.
Draw Hospital Database ER Model
ER-Diagram pf Hospital Database ER Model:

Question 8.
Features of E-R Model.
A model that represents system data by entity and relationship sets is called E-R (Entity-Relationship) model;
The entity-relationship (E-R) data model is based on a perception of a real world which consists of a set of basic objects. The E-R model was introduced by P.P. Chen. He introduced not only E-R model but also corresponding diagramming techniques.

Features:

1. The E-R diagram used for representing E-R Model can be easily converted into Relations (tables) in Relational Model.
2. The E-R Model is used for the purpose of good database design by the database developer so to use that data model in various DBMS.
3. It is helpful as a problem decomposition tool as it shows the entities and the relationship between those entities.
4. It is inherently an iterative process. On later modifications, the entities can be inserted into this model.
5. It is very simple and easy to understand by various types of users and designers because specific standards are used for their representation.

Question 9.
Composite Entities
If a Many to Many relationship exist then we must eliminate it by using composite entities. Composite Entities are the entities which exists as a relationship as well as an entity. The many to many relationship will be converted to 1 to many relationship. Composite Entities are also called Bridge Entities, because they acts like a bridge between the two entities which have many to many relationship. Bridge or Composite entity composed of the primary keys of each of the entities to be connected.

A composite entity is represented by a diamond shape with in a rectangle in an ER Diagram.

Question 10.
Relationship
A relationship is a meaningful association between entities. Each relationship is identified by a name that describes the relationship. The entities that participate in a relationship are called as participants.

The relationship between two entities might be a strong relationship or a weak relationship. The relationship between two strong entities is called as strong relationship or identifying relationship and the relationship between two weak entities or one strong and one weak entity is called as weak relationship or non-identifying relationship.

Question 11.
Generalization and Specialization
Generalization Specialization and Aggregation in DBMS are abstraction mechanisms used to model information.

Generalization: Generalization is a process of extracting common characteristics from two or more classes and combining them into a generalized super class. So, it is a bottom up approach as two or more lower level entities are combined to form a higher level entity. The common characteristics means here attributes or methods.

Specialization: Specialization may be seen as the reverse process of Generalization. Specialization is the abstracting process of introducing new characteristics to an existing class of objects to create one or more new classes of objects.

Question 12.
Relational Data Model
Relational data model is the primary data model, which is used widely around the world for data storage and processing. This model is simple and it has all the properties and capabilities required to process data with storage efficiency. This data model is introduced by C.F.Codd in 1970. Currently, it is considered as the most widely used data model. The relational model has provided the basis for:

1. Research on theory of data/relationship/constraint
2. Numerous database design methodologies
3. The standard database access language SQL
4. Almost all modem commercial database management systems.

Question 13.
Relational Data Integrity