Answers of Question Bank
Class XI
I.P.
(Book Reference : Sumita Arora)
GETTING STARTED WITH PYTHON
Very Short answer Type Questions
Q.1 When was Python released?
Ans- Python was released in February 1991.
Q.2 Who developed Python?
Ans- Python was developed by Guido Van Rossum.
Q.3 Which two languages contributed to Python as a Programming
Language? Ans- ABC language and Modula 3.
Q.4 Is Python an Object Oriented Language?
Ans- Yes, Python is an object oriented language.
Q.5 Python got its name from which show?
Ans- Python got its name from famous BBC comedy show “Monty Python’s Flying Circus”.
Short Answer Type Questions
Q.1 Python is an interpreted language‟. What does it mean to you?
Ans- It means that the Python installation interprets and executes the code line by line at a time.
Q.2 What does a cross platform language mean?
Ans- it means a language can run equally on variety of platforms-Windows, Linux/UNIX, Macintosh,
Supercomputers, Smart phones etc.
Q.3 Python is a Free and Open Source language. What do you understand by this feature?
Ans- It means Python is freely available without any cost. Its source code is also available. One can modify,
improve/extend an open source software.
Q.4 In how many ways, can you work in Python?
Ans-In two ways we can work in Python-
(i) Interactive mode
(ii) Script Mode
Q.5 What is the difference between Interactive mode and Script Mode in Python?
Ans- In interactive mode, one command can run at a time and commands are not saved. Whereas in Script
mode, we can save all the commands in the form of a program file and can see output of all lines together.
Q.6 What are the advantages of Python?
Ans- Advantages-
i. Easy to use OO Language.
ii. Expressive Language.
iii. Interpreted Language.
iv. It is complete.
v. Cross-Platform Language.
vi. Free and Open Source.
vii. Variety of Usage/ Applications
Q.7 What are the limitations of Python?
Ans- limitations-
i. Not the fastest language.
ii. Lesser Libraries than C, Java, Perl.
iii. Not strong on Type Binding.
iv. Not easily convertible.
PYTHON FUNDAMENTALS
Very Short answer Type Questions
Q.1 What is None literal in Python?
Ans: Python has one special literal, which is None. The None literal is used to indicate absence of
value. It is also used to indicate the end of lists in Python. It means ―There is nothing here‖.
Q.2 what will the following code do: a=b=18 ?
Ans: This code will assign 18 to a and b both.
Q.3 Find the error in the following code:
(a) (b) a=12 (c)
temp=9 b=a+b print(“x=”x)
0 Print print( a And
temp b)
(d) a, b, c=2, 8, 4 (e) x = 23 (f) else = 21-4
print(a, b, c) 4=x
c, b, a = a, b, c
print(a; b; c)
Ans: (a) Missing parentheses in call to 'print'.
(b) Name ‗b‘ is not defined.
(c) Invalid Syntax.
(d) Invalid Syntax in second print statement.
(e) can't assign to literal in second line.
(f) Invalid Syntax.
Q.4 Find the error in the following code:
(a) y = x +5 (b) a=input(“Value: “) (c) print(x = y = 5)
print(x,y) b = a/2
print( a, b)
Ans: (a) Name 'x' is not defined.
(b) Unsupported operand type(s) for /: 'str' and 'int'.
(c) Invalid Syntax.
Short Answer Type Questions
Q.1 What is the difference between a keyword and an identifier?
Ans: Difference between Keyword and Identifier: Every language has keywords and identifiers,
which are only understood by its compiler. Keywords are predefined reserved words, which
possess special meaning. An identifier is a unique name given to a particular variable, function
or label of class in the program.
Q.2 What are literals in Python? How many types of Literals allowed in Python?
Ans: Literals: Python comes with some built-in objects. Some are used so often that Python has a
quick way to make these objects, called literals.
The literals include the string, Unicode string, integer, float, long, list, tuple and
dictionary types.
Q.3 How many types of sequences are supported in
Python? Ans: Three Types of Sequences are supported in python:
(i) String
(ii) List
(iii) Tuple
Q.4 What factors guide the choice of identifiers in program?
Ans: (i) An identifier must start with a letter or underscore followed by any number of digits
and/or letters.
(ii) No reserved word or standard identifier should be used.
(iii) No special character (Other than underscore) should be included in the identifier.
Q.5 What is the difference between an expression and a statement in Python?
Ans: A statement is an instruction that the Python interpreter can execute. Some other kinds of
statements that we‘ll see shortly are while statements, for statements, if statements,
and import statements. (There are other kinds too!)
An expression is a combination of values, variables, operators, and calls to functions.
Expressions need to be evaluated. If you ask Python to print an expression, the
interpreter evaluates the expression and displays the result.
Q.6 What are tokens in Python? How many types of tokens allowed in
Python? Ans: Tokens are the smallest unit of the program. There are following
tokens in Python:
Reserved words or Keywords
Identifiers
Literals Definition of all tokens may come. Which is not given
Operators in this question bank.
Punctuators
Q.7 What are operators? What is their function? Give examples of some unary and
binary operators.
Ans: “Operators are those symbols used with operands, which tells compiler which operation is to be
done on operands.‖ in other words – ―operators are tokens that trigger some
computation/action when applied to variables and other objects in an expression.‖
Operators are of following types:
Unary operators like (+) Unary Plus, (-) Unary Minus, not etc.
Binary Operators like (+) addition, (*) multiplication, and etc.
Q.8 What is block/code block/suit in Python?
Ans: Sometimes a group of statements is part of another statement of function. Such a group of one
or more statements is called block or code-block or suit in python. e.g.
Q.9 What is the role of indentation in Python?
Ans: Indentation plays a very important role in Python. Python uses indentation to create blocks of
code. Statements at same indentation level are part of same block/suit. You cannot
unnecessarily indent a statement; python will raise an error for that.
Q.10 How many types of strings are supported by
Python? Ans: Python supports two types of strings:
(i) Single-line string That terminates in single line.
(ii) Multi-line String That stores multiple lines of text.
Skill Based Questions
Q.1 How can you create multi-line strings in Python?
Ans: We can create multi-line string by putting a backslash (\) at the end of line which allows you to
continue typing in next line in same string.
Q.2 What is the error in following Python program with one statement?
print(“My name is : “, name)
suggest a solution
Ans: Error is : ―name 'name' is not defined‖. And the solution is to declare the variable-name
before this statement.
Q.3 Predict the output of the following:
Ans: Output: 17 5
Q.4 What will be the output of the following code:
Ans: Output: Hari , you are 18 now but You will be 19 next year
Q.5 Write a Program to obtain temperature in Celsius and convert it into Fahrenheit
using formula –
C * 9/5 + 32 = F
Ans:
Q.6 Predict output:
Ans: Output: 4 6 8
Q.7 WAP to print the area of circle when radius of the circle is given by
user. Ans:
Q.8 WAP to print the volume of a cylinder when radius and height of the cylinder is
given by user.
Ans:
Q.9 WAP that asks your height in centimeters and converts it into foot and
inches. Ans:
Q.10 WAP to find area of a
triangle. Ans:
Q.11 WAP to calculate simple
interest. Ans:
Q.12 WAP to read a number in n and prints n2, n3,
n4 Ans:
DATA HANDLING
Very Short answer Type Questions
Q.1 Identify the data types of the following values given bellow –
3, 3j, 13.0, „12‟,”14”, 2+0j,19, [1,2,3],(3,4,5)
Ans: 3 – int 3j – complex 13.0 – float ‗12‘ – string ―14‖ – string
2+0j – complex 19 – int [1,2,3] – list (3,4,5) – tuple
Q.2 What will be the output of the following
(a)12/4 (b)14//14 (c)14%4 (d) 14.0/4 (e) 14.0//4 (f)14.0%4
Ans (a) 3.0 (b) 1 (c) 2 (d) 3.5 (e) 3.0 (f) 2.0
:
Q.3 What will be the output of the following ?
Ans: 4
4.25
1
4
Q.4 What will be the output of the following ?
(a) bool(0) (b) bool(„0‟) (c) bool(int(„0‟))
(d) bool(str(0.0)) (e) bool(0j) (f) bool(0.0)
Ans: (a) False (b) True (c) False
(d) True (e) False (f) False
Q.5 What will be the output of the following ?
(a)87//5 (b)(87//5.0) == (87//5) (c) 87//5.0 (d) 17%5.0
Ans: (a) 17 (b) True (c) 17.0 (d) 2.0
Short Answer Type Questions
Q.1 What are data types? What are Python‟s built-in core data types?
Ans: Every value in Python has a datatype. Since everything is an object in Python programming,
data types are actually classes and variables are instance (object) of these classes.
There are various data types in Python. Some of the important types are listed below.
(i) Numbers (ii) String (iii) List (iv) Tuple (v) Dictionary
Q.2 Which data types of Python handle Numbers?
Ans: It is cleared by name that Number data types are used to store numeric value in Python. The
Numbers in Python have following core data types:
(i) Integers
a. Integers (signed)
b. Booleans
(ii) Floating-Point Numbers
(iii) Complex Numbers
Q.3 Why is Boolean considered a subtype of Integers?
Ans: Because Boolean Values False and True behave like the values 0 and 1, respectively. So
Boolean type is a subtype of plain integers.
Q.4 What do you understand by term “immutable‟?
Ans: Immutable types are those data types that can never change their value in place. In Python the
following types are immutable:
(i) integers
(ii) floating-point numbers
(iii) Booleans
(iv) Strings
(v) Tuples
Q.5 What are mutable and immutable types in Python? List both of them.
Ans: Mutable types means those data types whose values can be changed at the time of execution.
They are as follows:
Lists
Dictionaries
Sets
Immutable types are those data types that can never change their value in place. In Python the
following types are immutable:
integers
floating-point numbers
Booleans
Strings
Tuples
Q.6 What are augmented assignment operators? How are they useful?
Ans: An augmented assignment is generally used to replace a statement where an operator
takes a variable as one of its arguments and then assigns the result back to the same
variable. A simple example is x += 1 which is expanded to x = x + (1). Similar constructions
are often available for various binary operators. They are helpful in making the source code
small.
Skill Based Questions
Q.1 WAP to calculate compound simple interest after taking the principle, rate and
time. Ans:
Q.2 WAP to check the given year is leap year or
not. Ans:
Q.3 WAP to take two numbers and check that the first number is fully divisible by
second number or not.
Ans:
Q.4 What will be the output of the following?
Ans: -2
6561
Q.5 What will be the output of the following?
Ans: 4.0
Q.6 WAP to take value of x,y,z from the user and calculate the equation 4𝑥4 + 3𝑦3 + 9𝑧2 + 6𝜋
Ans:
Q.7 WAP to take the temperatures of all 7 days of the week and displays the
average temperature of that week.
Ans:
CONDITIONAL AND ITERATIVE STATEMENTS
Short Answer Type Questions
Q.1 What a range() function does? Give an example.
Ans: The range() function returns a sequence of numbers, starting from 0 by default, and increments
by 1 (by default), and ends at a specified number. its syntax is range(start, stop, step) e.g. x
= range(3, 6) x = range(1, 10,2)
for n in x: for n in x:
print(n) print(n)
#This code will print 3 4 5 #This code will print 1 3 5 7 9
Q.2 What are loops in Python? How many types of loop are there in Python?
Ans: Loops are iteration constructs in Python. Iteration means repetition of a set of statements
depending upon a condition test. Loops has three basic elements within it to repeat the statements –
Initialization (Start)
Check Condition (Stop)
Updation (Step)
Python provide two types of loop
(i) Conditional Loop while( (Condition based loop)
(ii) Counting loop for (loop for a given number of times).
Q.3 What is the syntax of if-elif statement in
Python? Ans: The syntax of if-elif statement in python
is as follows:
If condition1:
#code-block of statements when condition1 is true
elif condion2:
#code-block of statements when condition2 is true
elif condition3:
#code-block of statements when condition3 is true
.
.
.
else:
#code-block of statements when all above conditions are false.
Q.4 What are jump statements in Python? Name jump statements with example.
Ans: Python offers two jump statements to be used with in loops to jump out of loop-iterations.
These are break and continue statements.
Q.5 Rewrite the following code fragment using for loop.
Ans:
Q.6 What is the error in following code. Rewrite the correct code.
Correct
Code:
Q.7 Rewrite the following code fragment using while loop.
Ans:
Skill Based Questions
Q.1 WAP that searches for prime numbers from 15 through
25. Ans:
Q.2 WAP to test if given number is prime or
not. Ans:
Q.3 WAP to compute the result when two numbers and one operator is given by
user. Ans:
Q.4 WAP to calculate the roots of a given quadratic
equation. Ans:
Q.5 WAP to input a digit and print it in
words. Ans:
Q.6 WAP to check whether square root of a given number is prime or
not. Ans:
Q.7 WAP to print first n odd numbers in descending
order. Ans:
Q.8 WAP to print the following series –
(i) 1 4 7 10..............40
(ii) 1 -4 7 -10 . . . . . . . . -40
Ans: (i)
(ii)
Q.9 WAP to find the average of the list of the numbers entered through
keyboard. Ans:
Q.10 WAP to find the largest number from the list of the numbers entered
through keyboard.
Ans:
Q.11 WAP to find the 2nd largest number from the list of the numbers entered
through keyboard. (This program is from List Chapter)
Ans:
Q.12 WAP to find the sum of n natural
numbers. Ans:
Q.13 WAP to find the sum of first n even
numbers. Ans:
Q.14 WAP to find the sum of first n odd
numbers. Ans:
Q.15 WAP to print the following pattern
(b) * (c) (d)
**
** C 4
* * ** CD 88
** ** ** CDE
Ans: (a)
(b)
(c)
(d)
STRING MANIPULATION
Very Short answer Type Questions
Q.1 which of the following is not a Python legal string operation?
(a)‟abc‟+‟abc‟ (b) “abc‟*3 (c)‟abc‟ + 3 (d)‟abc‟.lower()
Ans: (c) ‗abc‘ + 3
Q.2 Out of the following operators, which ones can be used with strings?
=, -, *, /, //, %, >, <>, in, not in, <=
Ans: /, // and %
Q.3 From the string S = “CARPE DIEM”. Which ranges return “DIE” and
“CAR”? Ans: S[6:9] for ―”DIE” and S[0:3] for ―”CAR”
Q.4 Given a string S = “CARPE DIEM”. If n is length/2 then what would following return?
(a) S[:n] (b) S[n:] (c) S[n:n] (d) S[1:n] (e) S[n:length-1]
Ans: (a) “CARPE‖ (b) “DIEM” (c) “ ‟ (d) “ARPE” (e) “DIE”
Q.5 What would following expression return?
(a) ”Hello World”.upper().lower() (b) ”Hello World”.lower().upper()
(c) ”Hello World”.find(“Wor”,1,6) (d) ”Hello World”.find(“Wor”)
(e) ”Hello World”.find(“wor”) (f) ”Hello World”.isalpha()
(g) ”Hello World”.isalnum() (h) ”Hello World”.isdigit()
(i) “123FGH”.isdigit()
Ans: (a) 'hello world' (b) 'HELLO WORLD'
(c) -1 (d) 6
(e) -1 (f) False
(g) False (h) False
(i) False
Short Answer Type Questions
Q.1 What is a string slice? How is it useful?
Ans: String Slice is a part of a string containing some contiguous characters from the string. It is
accessed from the string by providing a range in ―[ ]‖ brackets i.e. S [n:m]. Python returns all
the characters at indices n, n+1, n+2 . . . m-1 e.g.
‗Barabanki‘.[4:7] will return ‗ban‘.
Q.2 Write a python script that traverses through an input string and prints its
characters in different lines – two characters per line.
Ans:
Q.3 Which functions would you chose to use to remove leading and trailing white
spaces from a given string?
Ans: Python String strip() function will remove leading and trailing whitespaces. If you want to
remove only leading or trailing spaces, use lstrip() or rstrip() function instead.
Q.4 Suggest appropriate functions for the following tasks –
(a) To check whether the string contains digits.
(b) To find the occurrence a string within another string.
(c) To convert the first letter of a string to upper case.
(d) To convert all the letters of a string to upper case.
(f) To check whether all the letters of the string are in capital letters.
(g) to remove all the white spaces from the beginning of a
string. Ans: (a) isalnum() (b) find() (c)
capitalize()
(d) upper() (f) isupper() (g) lstrip()
Q.5 Find the errors -
s=”PURA VIDA”
Print(s[9] + s[9:15])
Ans: Here the error is : Sting index out of range.
Q.6 Find the output – if we give input as “Hello”
Ans: output 1 output2
Skill Based Questions
Q.1 WAP to print following pattern without using any nested
loop. #
## Ans:
###
####
#####
Q.2 WAP to print the number of occurrences of a substring into a
line. Ans:
Q.3 WAP to check the given string is palindrome or
not. Ans:
DEBUGGING PROGRAMS
Short answer Type Questions
Q.1 What do you understand by Syntax errors and Semantics errors?
Ans: Syntax Errors: syntax error occur when rules of a programming language are misused i.e.
grammatical rule of Python is violated. e.g.
X<-x*y
if x=(x*y) etc.
Semantics Errors: Semantics error occur when statements are not meaningful. e.g. x * y =
z
this will result in a semantical eoor as an expression cannot come on the left side of an assignment
operator.
Q.2 Why are logical errors harder to locate?
Ans: in spite of logical errors presence, program executes without any problems but the output
produced is not correct. Therefore, each and every statement of the program needs to be
scanned and interpreted. Thus the logical errors are harder to locate.
Q.3 What is an Exception?
Ans: Exception in general refers to some contradictory or unusual situation which can be
encountered unexpectedly while executing the program. Unhandled exceptions will cause
Python to halt execution.
Q.4 What are main error types? Which types are most dangerous and
why? Ans: Main error types are -
(i)Compile-time errors (ii) Run-time errors (iii) Logical errors
Logical errors are most dangerous errors because these are most difficult to fix. The
error is caused by a mistake in the program‘s logic. You won‘t get an error message, because
no syntax or runtime error has occurred. You will have to find the problem on your own by
reviewing all the relevant parts of your code – although some tools can flag suspicious code
which looks like it could cause unexpected behaviour.
Q.5 What is a difference between an error and exception?
Ans: Exception and Error: Exceptions are those which can be handled at the run time whereas
errors cannot be handled. An exception is an Object of a type deriving from the System.
Exception class. System Exception is thrown by the CLR (Common Language Runtime) when
errors occur that are nonfatal and recoverable by user.
Q.6 Name some common built-in exceptions in
Python. Ans: Some Common built-in Exceptions in Python
are:
(i) EOFError (ii) IOError (iii) NameError (iv) IndexError (v) ImportError
(vi) TypeError (vii) ValueError (viii) ZeroDivisionError (ix) KeyError
Q.7 when does these exception occur?
(a) Type Error (b) Index Error (c) Name Error
Ans: (a) Type Error: Raised when an operation or function is applied to an object of inappropriate
type. e.g. if you try to compute square-root of a string.
(b) Index Error: Raised when a sequence subscript or index is out of range e.g. from a string
of length 4 if you try to read a value of index 4 or more.
(c) Name Error: Raised when an identifier name is not found.
Q.8 What is debugging and code tracing?
Ans: Debugging involves correction of code so that the cause of errors is removed. I other words we
can say that debugging means figure out the origin of error in code, fix the error code and
review and rerun your code to ensure that the error is fixed.
LIST MANIPULATION
Very Short answer Type Questions
Q.1 What do you understand by mutability?
Ans: Mutable means changeable. In Python, mutable types are those whose values can be changed
in place. Only three types are mutable in python – Lists, Dictionaries and Sets.
Q.2 Start with the list[8,9,10]. Do the following using list functions
(a) Set the second entry (index 1) to 17
(b) Add 4, 5 and 6 to the end of the list.
(c) Remove the first entry from the list.
(d) Sort the list.
(e) Double the list.
(f) Insert 25 at index 3
Ans: (a) list[1]=17
(b) [Link](4)
[Link](5) [Link](6)
(c) [Link](0)
(d) [Link]()
(e) list=list*2
(f) [Link](3,25)
Q.3 If a is [1, 2, 3], what is the difference (if any) between a*3 and [a, a, a]?
Ans: a*3 will produce [1,2,3,1,2,3,1,2,3], means a list of integers and
[a, a, a] will produce [[1,2,3],[1,2,3],[1,2,3]], means list of lists
Q.4 If a is [1, 2, 3], is a *3 equivalent to a + a + a?
Ans: Yes, Both a*3 and a+a+a will produce same result.
Q.5 If a is [1, 2, 3], what is the meaning of a [1:1] = 9?
Ans: This will generate an error ―TypeError: can only assign an iterable‖.
Q.6 If a is [1, 2, 3], what is the meaning of a [1:2] = 4 and a [1:1] = 4?
Ans: These will generate an error ―TypeError: can only assign an iterable‖.
Q.7
Q.8 What are list slices?
Ans: List slices are the sub-part of a list extracted out. You can use indexes of the list elements to
create list slices as per following format. Syntax is as follows –
Seq=ListName[start:stop]
Q.9 Does a slice operator always produce a new
list? Ans: Yes, this will create a new list.
Short Answer Type Questions
Q.1 What are nested Lists?
Ans: A list can have an element in it, which itself is a list. Such a list is called nested list. e.g.
L = [1,2,3,4,[5,6,7],8]
Q.2 Discuss the utility and significance of Lists.
Ans: The list is a most versatile datatype available in Python which can be written as a list of comma-
separated values (items) between square brackets. Important thing about a list is that items in
a list need not be of the same type. List is majorly used with dictionaries when there is large
number of data.
Q.3 What is the purpose of the del operator and pop method? Try deleting a slice.
Ans: del operator is used to remove an individual item, or to remove all items identified by a slice.
It is to be used as per syntax given below –
>>>del List[index]
>>>del List[start:stop]
pop method is used to remove single element, not list slices. The pop() method removes an individual item
and returns it. Its syntax is –
>>>a=[Link]() #this will remove last item and deleted item will be assigned to a.
>>>a=List[10] # this will remove the ite at index 10 and deleted item will be assigned to a.
Q.4 What are list slices?
Ans: List slices, like string slices are the sub part of a list extracted out. Indexes can be used to
create list slices as per following format:
seq = L[start:stop]
Q.5 Predict the output – Ans:
Q.6 Predict the output – Ans:
Skill Based Questions
Skill Based Questions
Q.1 WAP to find minimum element from a list of elements along with its index in the
list. Ans: This program is for 1 or 2
marks
Or
This program is for 3 or 4 marks
output
Q.2 WAP to calculate mean of a given list of numbers.
Ans: This program is for 1 or 2 marks
Q.3 WAP to search for an element in a given list of
numbers. Ans:
Q.4 WAP to count frequency of a given element in a list of numbers.
Ans: This program is for 1 or 2 marks
Or
This program is for 3 or 4 marks
output
Q.5 WAP to calculate the sum of integers of the
list. Ans:
Q.6 WAP that reverses an array of integers (in
place) Ans:
Q.7 WAP that creates a third list after adding two
lists. Ans:
Q.8 WAP a program to generate a list of elements of Fibonacci
Series. Ans:
DICTIONARIES
Very Short answer Type Questions
Q.1 Why can’t List can be used as keys?
Ans: List is mutable datatype. And Keys of dictionary must be immutable type. This is the region that
list cannot be used as keys.
Q.2 What type of objects can be used as keys in
dictionary? Ans: Any immutable objects can be used as keys in
dictionary.
Q.3 Can you change the order of the dictionaries
contents? Ans: Yes, the order of dictionary contents may be
changed.
Q.4 Can you modify the keys in a dictionary?
Ans: Keys cannot be modified in dictionary while values are mutable in dictionary.
Q.5 Can you modify the value in a
dictionary? Ans: Yes, Values can be modified in
dictionaries.
Q.6 Is dictionary Mutable? Why?
Ans: Dictionary is mutable type because we can change its values.
Short Answer Type Questioemns
Q.1 How are dictionaries different from Lists?
Ans: The dictionary is similar to lists in the sense that it is also a collection of data-items but it is
different from lists in the sense that lists are sequential collections(ordered) and dictionaries are
non-sequential collections(unordered).
Elements in lists or tuples can be accessed by using indexes. But in dictionaries the values can be
obtained using keys. By changing the sequence of key we can shuffle the order of elements of
dictionary while this thing is not possible in list.
Q.2 When are dictionaries more useful than lists?
Ans: Dictionaries can be much more useful than lists when we wanted to store all our friends cell-
phone numbers. We could create a list of pairs,(name of friend, phone number), but once this
list becomes long enough searching this list for a specific phone number will get-time
consuming. Better would be if we could index the list by our friend‘s name. This is precisely
what a dictionary does.
Q.3 Discuss the utility and significance of Dictionaries.
Ans: Dictionaries can be much more useful than lists when we wanted to store all our friends cell-
phone numbers. We could create a list of pairs,(name of friend, phone number), but once this
list becomes long enough searching this list for a specific phone number will get-time
consuming. Better would be if we could index the list by our friend‘s name. This is precisely
what a dictionary does.
Q.4 Why is a dictionary termed as an unordered collection of objects?
Ans: But in dictionaries the values can be obtained using keys. By changing the sequence of key we
can shuffle the order of elements of dictionary while this thing is not possible in list. In
dictionaries there is no index. It uses its keys as index which can be rearranged. That‘s why a
dictionary termed as an unordered collection of objects
Q.5 How is clear() function different from del <dict> Statement?
Ans: clear() removes all the elements of a dictionary and makes it empty dictionary while del
statement removes the complete dictionary as an object. After del statement with a
dictionary name, that dictionary object no longer exists, not even empty dictionary.
Q.6 What is the output produced by the following code -
Ans:
Skill Based Questions
Q.1 WAP that repeatedly asks the user to enter product names and prices. Store all of
them in a dictionary whose keys are product names and values are prices. And
also
write a code to search an item from the dictionary.
Ans:
Q.2 WAP to create a dictionary named year whose keys are month names and values
are their corresponding number of days.
Ans:
INSIGHT INTO PROGRAM EXECUTION
Short Answer Type Questions
Q.1 What are the front end and back end phases of compiler?
Ans: The front end phase of compiler is Analysis Phase. This phase of compilation identifies all the
tokens in the source code and creates a symbol table with it.
The back end phase of compiler is Synthesis Phase. This phase of compiler parses the code
and generates syntax tree, analyzing the syntax of the source code.
Q.2 Differentiate between compiler and
interpreter. Ans:
Aspects Compiler Interpreter
A Compiler takes an entire program It takes a single line of code or single
Input as its input. instruction(such as loop) as its input.
It generates intermediate object code
Output from the whole program. It does not create any intermediate object code.
Requires less memory during interpretation as
Requires more memory during interprets single instruction/unit-of-code at a
Memory compilation. time.
Displays lists of errors of entire Displays the error of single line it is
program with line numbers and the interpreting. Thus errors also appear one line at
Errors error(s) in that line. a time.
No. once the role of compiler is over, Always required. Interpreter translates and runs
Always a compiler is no longer required to one instruction every time. So it is always
Required run the executable fuile. required in memory to run the code.
Compilation once done, stays always.
Recompilation not required if the Interpretation is required each time you have to
code(without any change) needs to run the code. The interpreter does not create
run again. The same executable file an executable and hence it is required every
Workload can be rerun without the compiler. time, the code is to run.
Q.3 What are the characteristics of
compiler? Ans:
Aspects Compiler
Input A Compiler takes an entire program as its input.
Output It generates intermediate object code from the whole program.
Memory Requires more memory during compilation.
Errors Displays lists of errors of entire program with line numbers and the error(s) in that line.
Always No. once the role of compiler is over, a compiler is no longer required to run the
Required executable fuile.
Compilation once done, stays always. Recompilation not required if the code(without
any change) needs to run again. The same executable file can be rerun without the
Workload compiler.
Q.4 What are the characteristics of
Interpreter? Ans:
Aspects Interpreter
Input It takes a single line of code or single instruction(such as loop) as its input.
Output It does not create any intermediate object code.
Requires less memory during interpretation as interprets single instruction/unit-of-code at a
Memory time.
Errors Displays the error of single line it is interpreting. Thus errors also appear one line at a time.
Always Always required. Interpreter translates and runs one instruction every time. So it is always
Required required in memory to run the code.
Interpretation is required each time you have to run the code. The interpreter does not
Workload create an executable and hence it is required every time, the code is to run.
Q.5 Describe the role of Operating System as a resource Manager.
Ans: A computer system has many resources (hardware and software), which may be require to
complete a task. The commonly required resources are input/output devices, memory, file
storage space, CPU etc. The operating system acts as a manager of the above resources and
allocates them to specific programs and users, whenever necessary to perform a particular task.
Therefore operating system is the resource manager i.e. it can manage the resource of a
computer system internally. The resources are processor, memory, files, and I/O devices. In
simple terms, an operating system is the interface between the user and the machine.
Operating System Management Tasks
1. Processor management which involves putting the tasks into order and pairing them into
manageable size before they go to the CPU.
2. Memory management which coordinates data to and from RAM (random-access memory)
and determines the necessity for virtual memory.
3. Device management which provides interface between connected devices.
4. Storage management which directs permanent data storage.
5. Application which allows standard communication between software and your computer.
6. User interface which allows you to communicate with your computer.
Q.6 What is cloud computing?
Ans: cloud computing is the delivery of computing services—servers, storage, databases, networking,
software, analytics, intelligence and more—over the Internet (―the cloud‖) to offer faster
innovation, flexible resources and economies of scale. You typically pay only for cloud services
you use, helping lower your operating costs, run your infrastructure more efficiently and scale
as your business needs change.
Cloud computing is a big shift from the traditional way businesses think about IT resources. Here
are seven common reasons organizations are turning to cloud computing services.
Q.7 What are the advantages of parallel computing?
Ans: Parallel computing is a type of computation in which many calculations or the execution of
processes are carried out simultaneously. Large problems can often be divided into smaller
ones, which can then be solved at the same time. It refers to the simultaneous working of
multiple processors to solve a computational problem. Its advantages are –
(i) It saves time and the cost too.
(ii) It makes easier to solve larger or complex problems.
(iii) It provides efficient use of underlying hardware.
(iv) It can utilize the resources available remotely.
Q.8 What is the basic flow of program execution?
Ans: the basic flow of program execution can be defined when a programmer create a program( the
source code), which needs to be converted into binary form so that computer can execute it.
This conversion is done by a software which is known as translator(compiler or interpreter).
Q.9 What is the difference between source code and object code?
Ans: Source Code refers to the original code written in a programming language by a programmer.
Object Code refers to the code converted into computer understandable form that a computer
can understand and can directly execute.
Q.10 What are the steps of compilation?
Ans: The compilation mainly undergoes these steps:
(i) Preprocessing
(ii) Compilation
a. Analysis
b. Synthesis
(iii) Assembly
(iv) Linking
Q.11 What is the role of linker in a compiler?
Ans: The part of the compiler which performs the linking of libraries is called linker. In this phase, with
the help of OS, all memory references are resolved and code is converted to a form which
requires nothing else to [Link] is, the code has become executable (.exe. file) now.
Q.12 How is interpretation done?
Ans: Unlike compiler, an interpreter doesn‘t translate the complete code in one go and hand over a
full executable file to execute. Instead, an interpreter translates a single line/section of code at a
time, makes its executable version and suns it immediately.
Q.13 How is a process different from a program?
Ans: A running program or the executing entity is called a process. So a program is a passive entity
when it is stored in storage. When it is copied to memory to get executed and starts its
execution then the program is known as process.
Q.14 What is process scheduling?
Ans: The process scheduling is the activity of the process manager that handles the removal of the
running process from the CPU and the selection of another process on the basis of a particular
strategy.
Process scheduling is an essential part of a Multiprogramming operating systems. Such
operating systems allow more than one process to be loaded into the executable memory at a
time and the loaded process shares the CPU using time multiplexing.
Q.15 What are process scheduling queues?
Ans: The OS maintains all PCBs in Process Scheduling Queues. The OS maintains a separate queue
for each of the process states and PCBs of all processes in the same execution state are placed
in the same queue. When the state of a process is changed, its PCB is unlinked from its current
queue and moved to its new state queue.
The Operating System maintains the following important process scheduling queues −
Job queue − This queue keeps all the processes in the system.
Ready queue − This queue keeps a set of all processes residing in main memory, ready and
waiting to execute. A new process is always put in this queue.
Device queues − The processes which are blocked due to unavailability of an I/O device
constitute this queue.
Q.16 How does OS manage all the running processes?
Ans: Process managements involve the execution of various tasks such as creation of processes,
scheduling of processes, management of deadlock, and termination of processes. It is
responsibility of operating system to manage all the running processes of the system.
Operating system manages processes by performing tasks such as resource allocation and
process scheduling. When a process runs on computer device memory and CPU of computer
are utilized. The operating system also has to synchronize the different processes of computer
system.
A process consists of set of instruction to be executed called process code. A process is also
associated with some data that is to be processed. The resources that a process required for its
execution is called process components. There is also a state that is associated with a process
at a particular instant of time called process state. Similar to these concepts, there are number
of concepts associated with the process management function of an operating system. Some of
those concepts are given as following.
Process State
Process Control Block (PCB)
Process Operations
Process Scheduling
Process Synchronization
Interprocess Communication
Deadlock
Q.17 What is the role of memory manager and I/O manager of OS?
Ans: Memory management is a form of resource management applied to computer memory. The
essential requirement of memory management is to provide ways to dynamically allocate
portions of memory to programs at their request, and free it for reuse when no longer needed.
This is critical to any advanced computer system where more than a single process might be
underway at any time.
I/O Manager:One of the important jobs of an Operating System is to manage various I/O
devices including mouse, keyboards, touch pad, disk drives, display adapters, USB devices, Bit-
mapped screen, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O,
printers etc.
An I/O system is required to take an application I/O request and send it to the physical device,
then take whatever response comes back from the device and send it to the application. I/O
devices can be divided into two categories −
Block devices − A block device is one with which the driver communicates by sending entire
blocks of data. For example, Hard disks, USB cameras, Disk-On-Key etc.
Character devices − A character device is one with which the driver communicates by
sending and receiving single characters (bytes, octets). For example, serial ports, parallel ports,
sounds cards etc
Q.18 How is private cloud different from public cloud?
Ans: Public cloud: Public clouds are owned and operated by a third-party cloud service providers,
which deliver their computing resources like servers and storage over the Internet. Microsoft
Azure is an example of a public cloud. With a public cloud, all hardware, software and other
supporting infrastructure is owned and managed by the cloud provider. You access these
services and manage your account using a web browser.
Private cloud: A private cloud refers to cloud computing resources used exclusively by a single
business or organization. A private cloud can be physically located on the company‘s on-site
datacenter. Some companies also pay third-party service providers to host their private cloud. A
private cloud is one in which the services and infrastructure are maintained on a private
network.
Q.19 What is parallel computing?
Ans: Parallel computing is a type of computation in which many calculations or the execution of
processes are carried out simultaneously. Large problems can often be divided into smaller
ones, which can then be solved at the same time. It refers to the simultaneous working of
multiple processors to solve a computational problem.
Q.20 How is parallel computing different from serial computing?
Ans: Serial Computing: A processing in which one task is completed at a time and all the tasks are
run by the processor in a sequence. In real time example, people standing in a queue and
waiting for a railway ticket. In this case, one person can get a ticket at a time. Suppose there are
two queues of people and one cashier is handling both the queues then one person can get a
ticket at a time from both queues. Similarly, processor get lists of tasks and each task is
completed at a time and all other tasks wait till the first one completes. This type of processing
is also known as sequential processing.
Parallel Computing: A type of processing in which multiple tasks are completed at a time by
different processors. Note that in parallel processing there is more than one processor involved.
In real time example, there are multiple queues of people standing to get railway tickets. In this
case, each queue is handled by multiple people, so multiple people will get tickets at a time.
Similarly, in the operating system, there are multiple queues of tasks and multiple tasks are
completed by different processors at a time.
Q.21 What are the advantages of parallel computing?
Ans: Parallel computing is a type of computation in which many calculations or the execution of
processes are carried out simultaneously. Large problems can often be divided into smaller
ones, which can then be solved at the same time. It refers to the simultaneous working of
multiple processors to solve a computational problem. Its advantages are –
(i) It saves time and the cost too.
(ii) It makes easier to solve larger or complex problems.
(iii) It provides efficient use of underlying hardware.
(iv) It can utilize the resources available remotely.
RELATIONAL DATABASES
Short Answer Type Questions
Q.1 What is a database system? What is its need?
Ans: A database is a collection of information that is organized so that it can be easily accessed,
managed and updated. Data is organized into rows, columns and tables, and it is indexed to
make it easier to find relevant information. Data gets updated, expanded and deleted as new
information is added. Databases process workloads to create and update themselves, querying
the data they contain and running applications against it. The software which facilitates the
collection of database and its retrieval is known as DBMS. A database along with a DBMS is
referred to as a database system.
DBMS is needed to overcome the following problems in traditional file system –
(i) Data redundancy
(ii) Data inconsistency
(iii) Unstandardized data
(iv) Insecure data
(v) Incorrect data etc.
In DBMS these limitations has been almost reduced.
Q.2 What are the disadvantages of database systems?
Ans: When we work with complex task then there may be some disadvantages of using databases
these are –
(i) Security may be compromised without good controls.
(ii) Integrity may be compromised without good controls.
(iii) Extra hardware may be required.
(iv) Performance overhead may be significant.
(v) System is likely to be complex.
Q.3 What are views? How they are useful?
Ans: A view is a virtual table that does not really exist in its own right but is instead derived from one
or more underlying base tables(s). the view is a kind of table whose contents are taken opon
other tables depending upon a given query condition. No stored file is created to store the
contents of a view rather its definition is stored only.
The usefulness of views lies in the fact that they provide an excellent way to give people access
to some but not all of the information in a table.
Q.4 What is the purpose of using MySQL?
Ans: MySQL is a free, open source Relational Database Management System (RDBMS) that uses
Structured Query Language (SQL). In MySQL database, information is stored in Tables. A single
MySQL database can contain many tables at once and store thousands of individual records.
Q.5 What do you understand by MySQL server instance?
Ans: MySQL server instance is created from background processes and [Link] stays in
memory and listens for client requests coming in over the network amd accesses database
contents according to those requests and provides that to the clients.
Q.6 What do you understand by MySQL client?
Ans: MySQL clients are programs that connect to the MySQL server and issue queries in a pre-
specified format. MySQL is compatible with the standards based SQL. The client program may
contact the server programmatically or manually.
Q.7 What is SQL? What are different categories of commands available in SQL?
Ans: In order to access the data within Oracle databases, all programs and users must use,
Structured Query Language (SQL). SQL is the set of commands that is recognized by nearly all
RDBMSs. SQL commands can be divided into following categories –
(i) Data Definition Language (DDL) Commands.
(ii) Data Manipulation Language (DML) Commands.
(iii) Transaction Control Language (TCL) Commands.
(iv) Session Control Commands.
(v) System Control Commands.
Q.8 Differentiate between DDL and DML commands.
Ans: The DDL commands, as the name suggests, allow you to perform tasks related to data
definition i.e. through these commands you can perform tasks like create, alter and drop
schema objects, grant and revoke privileges etc.
The DML commands, as the name suggests, are used to manipulate data i.e. DML commands
query and manipulate data in existing schema objects like, Select query, insert into command
etc.
Q.9 What is MySQL? What are its functions and features?
Ans: MySQL is a free, open source Relational Database Management System (RDBMS) that uses
Structured Query Language (SQL). In MySQL database, information is stored in Tables. A single
MySQL database can contain many tables at once and store thousands of individual records.
Its functions and features are –
(i) Speed
(ii) Ease of use
(iii) Cost
(iv) Query Language support
(v) Portability
(vi) Data Types
(vii) Security
(viii) Scalability and Limits
(ix) Connectivity
(x) Localization
(xi) Clients and Tools
Q.10 Name some commands used to assign/revoke privileges from database
users. Ans: Grant Privilege Command and Revoke Privilege commands.
Q.11 Name some Table maintenance commands?
Ans: ANALYZE TABLE , CHECK TABLE , CHECKSUM TABLE , OPTIMIZE TABLE , REPAIR TABLE
SIMPLE QUERIES IN SQL
Very Short Answer Type Questions
Q.1 Name some basic MySQL SQL elements.
Ans: Some basic MySQL SQL elements are : (i) Literals (ii) Datatypes (iii) Nulls (iv) Comments.
Q.2 Differentiate between CHAR and VARCHAR Datatypes.
Ans: The difference between CHAR and VACHAR is that of fixed length and variable length
respectively.
Q.3 Write two usage of DESC in SQL.
Ans: DESC is used with Order by Clause in select statement which displays the data in descending
order. And another user of DESC is that it is used to display the structure of table.
Q.4 Consider the following Table named „empl‟ and Write SQL commands from (a) to (n)
(a) Display all the records from table
empl. Ans: select * from empl;
(b) Display EmpNo and EName of all employees from the table
empl. Ans: select EmpNo, EName from empl;
(c) Display employee name, salary, and department number who are not
getting commission from table empl.
Ans: select EName, sal, deptno from empl where comm = NULL;
(d) Display employee number, name, sal*12 as Annual salary whose commission is
not NULL from table empl.
Ans: select EmpNo, EName, sal*12 ‗Annual Salary‘ from empl where sal<>NULL;
(e) List all department numbers from table
empl. Ans: select deptno from empl;
(f) List all unique department numbers from table
empl. Ans: select distinct(deptno) from empl;
(g) List the details of all clerks who have not been assigned department as
yet. Ans: select * from empl where job=‘CLERK‘ and deptno=NULL;
(h) Display the details of employees whose name have only four
letters. Ans:________________________________________select * from empl where
EName like ‗_________________________________________‘;
(i) Display the details of all employee whose annual salary is between 25000
to 40000.
Ans: select * from empl where sal between 25000 and 40000;
(j) How many job types are offered to
employees? Ans: select count(distinct(job)) from
empl;
(k) List the employees who earn more commission than their
salaries. Ans: select * from emple where sal<comm;
(l) Display name, job title and salary of employee who do not have
manager. Ans: select EName, job, sal from empl where mgr = NULL;
(m) Display the name of employee whose name contains „A‟ as third letter.
Ans: select EName from empl where EName like ‗_ _ A%‘
(n) Display the name of employee whose name contains „L‟ as any
letter. Ans: select EName from empl where EName like ‗%L%‘
Consider the above table „empl‟ and give answer-
Q.5 Write a query to display EName and Sal of employee whose salary is greater than
or equal to 2200 from table empl.
Ans: select EName, sal from empl where sal>=2200;
Ans: (a) Select * from CLUB;
(b) Select COACHNAME, DATEOFAPP from CLUB order by DATEOFAPP desc;
(c) Select COACHNAME, PAY, AGE, PAY*15/100 ‗BONUS‘ from CLUB;
Ans: (a) select * from STUDENT1 where Stream = ‗NONMEDICAL‘;
(b) select Name from STUDENT1 where CLASS like ‗12_‘ order by Stipend;
(c) select * from STUDENT1 order by AvgMark desc;
(d) select Name, Stipend, Stream, Stipend*12 ‗Stipend in a Year‘ from STUDENT1;
TABLE CREATION AND DATA MANIPULATION COMMANDS
Short Answer Type Questions
Q.1 Using SQL statements in MySQL, create the tables identified bellow in the
following order.
Database Name: Univ.
Create database if needed. (Underlined Columns depict primary key)
Campus (CampusID, CampusName, Street, City, State, Pin,
Phone,
CampusDiscount)
Position (PositionID, Position, YearlyMembershipFee)
Members (MemberID, Lastname, FirstName, CampusAddress,
CampusPhone, CampusID, PositionID, ContractDuration)
Foreign Keys CampusID Campus(CampusID)
PositionID Position(PositionID)
Ans: mysql>CREATE DATABASE Univ;
mysql>USE Univ;
mysql>CREATE TABLE Campus(CampusID VARCHAR(5) PRIMARY KEY,
CampusName VARCHAR(20), Street
VARCHAR(20),
City VARCHAR(20), State
VARCHAR(15), Pin
INT(6),
Phone VARCHAR(13),
CampusDiscount INT(2));
mysql>CREATE TABLE Position (PositionID VARCHAR(4) PRIMARY KEY,
Position VARCHAR(10),
YearlyMemberShipFee INT(4));
mysql>CREATE TABLE Members (MemberID VARCHAR(5) PRIMARY KEY,
LastName VARCHAR(15),
FirstName VARCHAR(15),
CampuAddress VARCHAR(30),
CampusPhone VARCHAR(13),
CAMPUSID VARCHAR(5) REFERENCES Campus(CampusID),
PositionID VARCHAR(4) REFERENCES Position(PositionID),
ContractDuration INT(2));
Q.2 Write SQL commands to perform the following tasks –
(a) Create table Employee with the following structure:
Name of ID First_Name Last_Name User_ID Salary
Column
Type Number(4) Varchar(30) Varchar(30) Varchar(10) Number(9,2)
Ensure the following specification in created
table: ID should be declared as Primary Key
User_ID shold be unique
Salary Must be greater than 5000
First_Name and Lst_Name must not remain Blank
Ans: mysql>CREATE TABLE Employee (ID NUMBER(4) PRIMARY KEY,
First_Name VARCHAR(30) NOT NULL,
Last_Name VARCHAR(30) NOT NULL,
User_ID VARCHAR(10) UNIQUE, Salary
NUMBER(9,2));
(b) Create another table Job with following specification:
Name of Column Type
Job_ID Number(4)
Job_des Varchar(30)
Alloc_on Date
Due_on Date
Emp_id Number(4)
Ensure the following specification in created
table: Job_ID should be declared as Primary
Key
Job_des, Alloc_on, Due_on cannot be left blank
Emp_id is foreign key here that us related to ID column of earlier created
table Employee.
Ans: mysql>CREATE TABLE Job (Job_ID NUMBER(4) PRIMARY KEY,
Job_des VARCHAR(30) NOT NULL,
Alloc_on DATE NOT NULL,
Due_on DATE NOT NULL,
Emp_id NUMBER(4) REFERENCES Employee(ID));
(a) Show the structure of the table
employee. Ans: mysql>DESC Employee;
(b) Show the structure of the table job.
Ans: mysql>DESC Job;
(c) Insert 10 records into the table employee as well as Job.
Ans: mysql> INSERT INTO Employee VALUES(1, ‗Amit‘, ‘Kumar‘, ‘E1001‘,20000);
Same remaining 9 values can be inserted into Employee Table.
mysql> INSERT INTO Job VALUES(1001, ‗Manager‘, ‘12-25-2016‘, ‘12-28-2017‘, 1);
Same remaining 9 values can be inserted into Job Table.
(d) For record with ID 4 update record with Last_Name, User_ID and Salary.
Ans: mysql>UPDATE Employee SET Last_Name=‘Singh‘ WHERE ID=4;
mysql>UPDATE Employee SET Salary=25000 WHERE ID=4;
mysql>UPDATE Employee SET User_ID=‘E1004‘ WHERE ID=4;
(e) Make the changes permanent.
Ans: mysql>COMMIT
(f) Modify the salary and increase it by 1000, for all who get salary less than
6000. Ans: mysql>UPDATE Employee SET Salary = Salary+1000 WHERE Salary<6000;
(g) Add one new column in table Employee named „Phone‟.
Ans: mysql>ALTER TABLE Employee ADD(Phone VARCHAR(13));
(h)Provide the phone numbers to all the employees.
Ans: mysql>INSERT INTO Employee (Phone) VALUES(‗+918888888888‘);
Same remaining 9 values can be inserted into Employee Table.
(i) Delete the Employee record having First_Name as Manish.
Ans: mysql>DELETE FROM Employee WHERE First_Name=‘Manish‘;
(j) Remove employee table
permanently. Ans: mysql>DROP
TABLE Employee;
(k) Count the total records in the table
employee. Ans: mysql>SELECT Count(*) FROM
Employee;
Q.3 What are the different divisions of SQL and commands? Give
examples. Ans: SQL commands can be divided into following categories –
(i) Data Definition Language (DDL) Commands. e.g. CREATE TABLE, ALTER TABLE, DROP
TABLE etc.
(ii) Data Manipulation Language (DML) Commands. e.g. INSERT INTO, DELETE FROM,
UPDATE, SELECT etc.
(iii) Transaction Control Language (TCL) Commands.e.g. ROLLBACK, COMMIT, SAVEPOINT
etc.
Q.4 What is foreign key? How do you define a foreign key in your table?
Ans: A foreign key is a column or group of columns in a relational database table that provides a link
between data in two tables. It acts as a cross-reference between tables because it references
the primary key of another table, thereby establishing a link between them.
To define a foreign key in a table we have to use REFERENCES keyword as follows -
mysql>CREATE TABLE Job (Job_ID NUMBER(4) PRIMARY KEY,
Job_des VARCHAR(30) NOT NULL,
Alloc_on DATE NOT NULL, Due_on
DATE NOT NULL,
Emp_id NUMBER(4) REFERENCES Employee(ID));
In the above example Emp_id is a foreign key which references the ID field of table Employee.
Q.5 How foreign key command is different from Primary Key command?
Ans: A primary key is a special key in a relational database that acts as a unique identifier for each
record meaning it uniquely identifies each row/record in a table and its value should be unique
for each row of the table. A foreign key, on the other hand, is a field in one table that link two
tables together. It refers to a column or a group of columns that uniquely identifies a row of
another table or same table.
A primary key is a combination of UNIQUE and Not Null constraints so no duplicate values can be
allowed to have in a primary key field in a relational database table. No two rows are allowed to
carry duplicate values for a primary key attribute. Unlike a primary key, foreign key can contain
duplicate values and a table in a relational database can contain more than foreign key.
Q.6 How is Foreign Key commands related to Primary Key?
Ans: A foreign key refers to a field or a collection of fields in a database record that uniquely
identifies a key field of another database record in some other table. In simple terms, it
establishes a link between records in two different tables in a database. It can be a column in a
table that points to the primary key columns meaning a foreign key defined in a table refers to
the primary key of some other table. References are crucial in relational databases to establish
links between records which is essential for sorting databases. Foreign keys play an important
role in relational database normalization especially when tables need to access other tables.
Q.7 How do you enforce business rules on a database?
Ans: We can enforce Business Rules in Relational Databases Using Constraints. Constraints are
restrictions over a column. Or we can say that constraint is a check or condition applicable on a
field or set of fields. These are of following types –
(i) Unique
(ii) Primary Key
(iii) Default
(iv) Check
(v) Foreign Key
Q.8 What are table constraints? What are column constraints? How these two
are different?
Ans: Table constraints apply to groups of one or more columns whereas column constraints apply
only to Individual column.
Q.9 What is default value? How do you define it? What is the default value of column
for which no default value is defined?
Ans: A default value can be specified for a column using DEFAULT clause. When a user does not
enter a value for the column (having default value), automatically the defined default value is
inserted in the field. e.g.
mysql>CREATE TABLE Employee (ID NUMBER(4) PRIMARY KEY,
First_Name VARCHAR(30) NOT NULL,
Last_Name VARCHAR(30) NOT NULL,
User_ID VARCHAR(10) UNIQUE,
Salary NUMBER(9,2) DEFAULT 15000);
Q.10 Differentiate between -
(i) DROP TABLE, DROP DATABASE
(ii) DROP TABLE, DROP clause of ALTER TABLE.
Ans: (i) DROP TABLE will delete a table whereas DROP DATABASE will delete a complete
database which will contain different tables. These are DDL commands.
Q.11 How will you enlist the name of tables in a
database? Ams: By using SHOW TABLES command. e.g.
mysql>SHOW TABLES;
Q.12 How to view the structures of the table made by
you? Ans: By using DESC <TableName> command. e.g.
mysql>DESC Employee;
Q.13 How to Drop Table and Databases?
Ans: By using DROP TABLE command. e.g.
mysql>DROP TABLE Employee;
TABLE JOINS AND INDEXES IN SQL
Short Answer Type Questions
Consider the following tables and give the commands based on the asked queries from Q1. To Q.4.
Q.1 Find out the Cartesian product of the table Orders and
Parts. Ans: SELECT * FROM Orders, Parts;
Q.2 What will be the equijoin of the Orders and Parts?
Ans: SELECT [Link],[Link],[Link],[Link],description FROM orders ord, parts pr
WHERE [Link]=[Link];
Q.3 Determine the total order amount for part1 „Road Bike‟.
Ans: SELECT SUM([Link]*[Link]) ‗Total Amount‘ FROM orders ord, parts prWHERE
[Link]=[Link] AND [Link]=‘Road Bike‘;
Q.4 Find out the order details of parts having description like „Road...........‟
Ans: SELECT * FROM orders WHERE prtnum = (SELECT partnum FROM parts WHERE description
LIKE ‗Road%‘;
Q.5 Given two tables –
Employee PayTable
employee_id employee_id
last_name salary
first_name department
middle_name supervisor
marital_status
Find out the salary taken by all KUMAR, i.e. all those who have their last_name as
„KUMAR‟
Ans: SELECT e.employee_id, e.last_name, [Link] FROM employee e, PayTable ep WHERE
e.employee_id=ep.employee_id AND e.last_name=‘KUMAR‘;
Q.6 A table FLIGHT has 4 rows and 2 columns and another table AIR HOSTESS has 3 rows
and 4 columns. How many rows and columns will be there if we obtain the Cartesian
product of these two tables?
Ans: 12 rows and 6 rows
Q.7 Table Employee has 4 records ad Table Dept has 3 records in it. Mr. Jain wants to
display all information stored in both of these related tables. He forgot to specify
equi-join condition in the query. How many rows will get displayed on execution
of this query?
Ans: 12 Rows (4 X 3)
Q.8 What are table joins?
Ans: An SQL join clause - corresponding to a join operation in relational algebra -
combines columns from one or more tables in a relational database. It creates a set that can be
saved as a table or used as it is. A JOIN is a means for combining columns from one (self-join) or
more tables by using values common to each. ANSI-standard SQL specifies five types of
JOIN: INNER, LEFT OUTER, RIGHT OUTER, FULL OUTER and CROSS. As a special case, a
table (base table, view, or joined table) can JOIN to itself in a self-join.
Q.9 Name some types of joins that you can create on tables.
Ans: (i) Equi Join
(iii) Non-Equi-Join
(iii) Natural Join
(iv) Cross Join
(v) Left, Right Joins
Q.10 What are table Indexes? How are they useful?
Ans: Table index is a kind of data structure which is used to fetch the data from database very fast.
An index keeps the location in index field in actual table, in ordered form. This is also a table
which stores the location of records within it.
Indexes are used to make the search fast. Queries work with indexes very efficiently. Indexes are very
much helpful in sorting. Index guaranties in uniquely identifying the records in the databases.
Q.11 What are the advantages and disadvantages of table-
indexes? Ans: Advantages:
(i) Indexes are used to make the search fast.
(ii) Queries work with indexes very efficiently
(iii) Indexes are very much helpful in sorting
(iv) Index guaranties in uniquely identifying the records in the databases.
Disadvantages:
(i) The capability of insert, update and delete command reduces. As the index
table‘s updating is an overburden.
(ii) It consumes more memory.
Q.12 What is database index? Is it a table?
Ans: Table index is a kind of data structure which is used to fetch the data from database very fast.
An index keeps the location in index field in actual table, in ordered form. This is also a table
which stores the location of records within it.
Q.13 How many ways can you create index in?
Ans: There are two ways to create index -
(i) At the time of table creation.
(ii) Creating an index on already existing table.
Q.14 Why is it said that indexes should be created when needed?
Ans: (i) The capability of insert, update and delete command reduces. As the index table‘s updating
is an overburden.
(ii) It consumes more memory. That‘s why it is said that when there is a need then create the ndex.
Q.15 How is a left join different from natural join? Give example.
Ans: A NATURAL JOIN is a JOIN operation that creates an implicit join clause for you based on the
common columns in the two tables being joined. Common columns are columns that have the
same name in both tables. A NATURAL JOIN can be an INNERjoin, a LEFT OUTER join, or a RIGHT
OUTER join. The default is INNER [Link] the LEFT JOIN keyword returns all records from the left
table (table1), and the matched records from the right table (table2). The result is NULL from
the right side, if there is no match.
Q.16 How is a cross join different from natural join? Give example.
Ans: A NATURAL JOIN is a JOIN operation that creates an implicit join clause for you based on the
common columns in the two tables being joined. Common columns are columns that have the
same name in both tables. A NATURAL JOIN can be an INNERjoin, a LEFT OUTER join, or a RIGHT
OUTER join. The default is INNER join.
The SQL CROSS JOIN produces a result set which is the number of rows in the first table multiplied
by the number of rows in the second table if no WHERE clause is used along
with CROSS [Link] kind of result is called as Cartesian Product. If WHERE clause is used
with CROSS JOIN, it functions like an INNERJOIN
Q.17
Ans: (i) mysql>SELECT * FROM Product WHERE Price between 40 and 120;
(ii) mysql> SELECT [Link], [Link], [Link], [Link] FROM Product p, Client c
WHERE p.P_ID=c.P_ID;
(iii) mysql> UPDATE Product set Price=Price+20;