DBMS Interview Questions
DBMS Interview Questions
Ans: Database management systems were developed to handle the following difficulties of typical file-
processing systems supported by conventional operating systems.
1. Data redundancy and inconsistency
2. Difficulty in accessing data
3. Data isolation – multiple files and formats
4. Integrity problems
5. Atomicity of updates
6. Concurrent access by multiple users
7. Security problems
Ans: A super key is a set of attributes of a relation schema upon which all attributes of the schema are
functionally dependent. No two rows can have the same value of super key attributes.
A Candidate key is minimal super key, i.e., no proper subset of Candidate key attributes can be a super
key.
A Primary Key is one of the candidate keys. One of the candidate keys is selected as most important
and becomes the primary key. There cannot be more that one primary keys in a table.
Foreign key is a field (or collection of fields) in one table that uniquely identifies a row of another table.
Ans: Primary key cannot have NULL value, the unique constraints can have NULL values. There is only
one primary key in a table, but there can be multiple unique constrains.
What is SQL?
SQL is Structured Query Language designed for inserting and modifying in a relational database
system.
What are the differences between DDL, DML and DCL in SQL?
Ans: HAVING is used to specify a condition for a group or an aggregate function used in select
statement. The WHERE clause selects before grouping. The HAVING clause selects rows after grouping.
Unlike HAVING clause, the WHERE clause cannot contain aggregate functions. (See this for examples).
See Having vs Where Clause? for more details
Ans:
NAME SECTION
abc CS1
bcd CS2
abc CS1
In the above table, we can find duplicate row using below query.
What is Join?
Ans: An SQL Join is used to combine data from two or more tables, based on a common field between
them. For example, consider the following two tables.
Student Table
StudentCourse Table
COURSEID ENROLLNO
1 1000
2 1000
3 1000
1 1002
2 1003
Following is join query that shows names of students enrolled in different courseIDs.
FROM StudentCourse
ON StudentCourse.EnrollNo = Student.EnrollNo
ORDER BY StudentCourse.CourseID;
COURSEID STUDENTNAME
1 geek1
1 geek2
2 geek1
2 geek3
3 geek1
What is Identity?
Ans: Identity (or AutoNumber) is a column that automatically generates numeric values. A start and
increment value can be set, but most DBA leave these at 1. A GUID column also generates numbers; the
value of this cannot be controlled. Identity/GUID columns do not need to be indexed.
SELECT column_name(s)
FROM table_name
WHERE condition
What is a Trigger?
Ans: A Trigger is a code that associated with insert, update or delete operations. The code is executed
automatically whenever the associated query is executed on a table. Triggers can be useful to maintain
integrity in database.
Q. There is a table where only one row is fully repeated. Write a Query to find the
Repeated row
Name Section
abc CS1
bcd CS2
abc CS1
In the above table, we can find duplicate row using below query.
FROM EMPLOYEES);
OR
Consider the following Employee table. How many rows are there in the result of
following query?
ID salary DeptName
1 10000 EC
2 40000 EC
3 30000 CS
4 40000 ME
5 50000 ME
6 60000 ME
7 70000 CS
;
SELECT E.ID
FROM Employee E
FROM Employee E2
Following 5 rows will be result of query as 3000 is the minimum salary of CS Employees
and all these rows are greater than 30000.
2
4
5
6
7
Q. Write a trigger to update Emp table such that, If an updation is done in Dep table
then salary of all employees of that department should be incremented by some
amount (updation)
Assuming Table name are Dept and Emp, trigger can be written as –
DECLARE
BEGIN
END IF;
END LOOP;
END;
Q. There is a table which contains two column Student and Marks, you need to find
all the students, whose marks are greater than average marks i.e. list of above
average students.
SELECT student, marks
FROM table
Q.Name the student who has secured third highest marks using sub queries.
SELECT Emp1.Name
*LOGIC- Number of people with salary higher than this person will be 2.
Q. Why we cannot use WHERE clause with aggregate functions like HAVING?
The difference between the having and where clause in SQL is that the where clause can NOT be used
with aggregates, but the having clause can. Please note: It is not a predefined rule but by and large you’ll
see that in a good number of the SQL queries, we use WHERE prior to GROUP
BY and HAVING after GROUP BY.
The Where clause acts as a pre filter where as Having as a post filter.
The where clause works on row’s data, not on aggregated data.
Let us consider below table ‘Marks’.
FROM Marks
This would select data row by row basis. The having clause works on aggregated data.
For example, output of below query
Student Total
a 90
b 60
d 70
e 80
When we apply having in above query, we get
Student Total
a 90
e 80
Q. Difference between primary key and unique key and why one should use unique
key if it allows only one null?
Primary key:
▪ Only one in a row(tuple).
▪ Never allows null value (only key field).
▪ Unique key identifier and cannot be null and must be unique.
Unique Key:
▪ Can be more than one unique key in one row.
▪ Unique key can have null values (only single null is allowed).
▪ It can be a candidate key.
▪ Unique key can be null and may not be unique.
Materialized views
▪ Disk based and are updated periodically based upon the query definition.
▪ A materialized table is created or updated infrequently and it must be synchronized with its
associated base tables.
Dynamic views
▪ Virtual only and run the query definition each time they are accessed.
▪ A dynamic view may be created every time that a specific view is requested by the user.
Q. What is embedded and dynamic SQL?
In static SQL how database will be accessed is In dynamic SQL, how database will be accessed
3. SQL statements are compiled at compile time. SQL statements are compiled at run time.
Parsing, validation, optimization, and generation of Parsing, validation, optimization, and generation
4. application plan are done at compile time. of application plan are done at run time.
It is generally used for situations where data is It is generally used for situations where data is
• Atomicity − This property states that a transaction must be treated as an atomic unit, that is,
either all of its operations are executed or none. There must be no state in a database where a
transaction is left partially completed. States should be defined either before the execution of
the transaction or after the execution/abortion/failure of the transaction.
• Consistency − The database must remain in a consistent state after any transaction. No
transaction should have any adverse effect on the data residing in the database. If the database
was in a consistent state before the execution of a transaction, it must remain consistent after
the execution of the transaction as well.
• Durability − The database should be durable enough to hold all its latest updates even if the
system fails or restarts. If a transaction updates a chunk of data in a database and commits,
then the database will hold the modified data. If a transaction commits but the system fails
before the data could be written on to the disk, then that data will be updated once the system
springs back into action.
• Isolation − In a database system where more than one transaction are being executed
simultaneously and in parallel, the property of isolation states that all the transactions will be
carried out and executed as if it is the only transaction in the system. No transaction will affect
the existence of any other transaction.
The UNIQUE constraint ensures that all values in a column are different.
Both the UNIQUE and PRIMARY KEY constraints provide a guarantee for uniqueness for a column or set
of columns.
However, you can have many UNIQUE constraints per table, but only one PRIMARY KEY constraint per
table.
How many null values can have in primary key and unique key?
Difference between Primary and Unique is key that Primary key does not allow for null value whereas
Unique key allows null only once. Entering extra null value for unique key throws violation exception.
• GROUP BY is used to create unique combinations of a list of columns that can be used to form
summaries. A byproduct of this operation is that the grouping tends to be sorted; however, this isn’t a
guarantee.
- A domain can be attached to an attribute but only if the attribute is an element of specified set.
For example: XYZ doesn’t fulfill the domain constraint but the integer value as 899 fulfills the criteria of
domain constraint. Hence, domain is of high importance.
- Relational database means the relationship between different databases. In relational database user
can store and access all the data through the tables which are related to each other.
- Relationship between the store data is called base relations and implementation of it is called as
tables. Whereas, relations which don’t store the data, but can be found out by applying relational
operations on other relations are called as derived relations. When these are implemented they are
termed as views or queries.
- Derived relations are more useful then base relation, as they can have more information from many
relations, but they act as a single relation.
8. What are the two principles of relational database model? What is the difference between them?
The two principal rules for the relational model are as follows:
- Referential integrity: it is used to maintain integrity on all the values which have been referenced.
- Entity integrity tells that in a database every entity should have a unique key; on the other hand
referential integrity tells that in the database every table values for all foreign keys will remain valid.
- Referential integrity is based on entity integrity but it is not the other way around.
- For example: if a table is present and there is a set of column out of which one column has parent key
set then to ensure that the table doesn’t contain any duplicate values, a unique index is defined on the
column that contains the parent key.
- Primary key uniquely identify a relationship in a database, whereas foreign key is the key that is in
other relation and it has been referenced from the primary key from other table.
- Primary key remains one only for the table, whereas there can be more than one foreign key.
- Primary key is unique and won’t be shared between many tables, but foreign key will be shared
between more than one table and will be used to tell the relationship between them.
Stored procedure stored inside the database. This also includes the executable code that usually collects
and customizes the operations like insert, encapsulation, etc. These stored procedures are used as APIs
for simplicity and security purposes. The implementation of it allows the developers to have procedural
extensions to the standard SQL syntax. Stored procedure doesn’t come as a part of relational database
model, but can be included in many implementations commercially.
- Index is a way to provide quick access to the data and structure. It has indexes maintain and can be
created to combine attributes on a relation. Index allows the queries to filter out the searches faster and
matching data can be found earlier with simplicity.
- For example: It is same as the book where by using the index you can directly jump to a defined
section. In relational database there is a provision to give multiple indexing techniques to optimize the
data distribution.
What are the relational operations that can be performed on the database?
There are many relational operators that are used to perform actions on relational database. These
operators are as follows:
1. Union operator that combines the rows of two relations and doesn’t include any duplicate. It also
removes the duplicates from the result.
2. Intersection operator provides a set of rows that two relations have in common.
3. Difference operator provide the output by taking two relations and producing the difference of rows
from first that don’t exist in second.
- It has some disadvantages as it increases complexity and have some overhead of processing.
- It consists of set of procedures that eliminates the domains that are non-atomic and redundancy of
data that prevents data manipulation and loss of data integrity.
What are the different types of normalization that exists in the database?
There are 9 normalizations that are used inside the database. These are as follows:
1. First normal form: in this table represents a relation that has no repeating groups.
2. Second normal form: non- prime attributes are not functional dependent on subset of any candidate
key.
3. Third normal form: in a table every non- prime attribute is non-transitively dependent on every
candidate key
4. Elementary key normal form: superkey dependency or elementary key dependency effects the
functional dependency in a table.
5. Boyce codd normal form: “every non-trivial functional dependency in the table is dependent on
superkey”.
6. Fourth normal form: “Every non-trivial multivalued dependency in the table is a dependent on a
superkey”.
7. Fifth normal form (5NF): “Every non-trivial join dependency in the table is implied by the superkeys of
the table”.
8. Domain/key normal form (DKNF): “Every constraint on the table is a logical consequence of the table's
domain constraints and key constraints”.
9. Sixth normal form (6NF): “Table features no non-trivial join dependencies at all”.
- Analytical processing databases are not very normalized. The operations which are used are read most
databases.
- It is used to extract the data that are ancient and accumulated over long period of time. For this
purpose de-normalization occurs that provide smart business applications.
- The de-normalized form must be controlled while extracting, transforming, loading and processing.
- There should be constraint that user should not be allowed to view the state till it is consistent.
– It describes the definition of the database design which is different from the first normal form.
- It keeps the values in structured and specialized types with their own domain specific languages.
- The query language used in this is extended to incorporate more support for relational domain values
by adding more operators.
There are three levels of data abstraction available in database model and these are as follows:
1. Physical level: It is the lowest level that describes how data is stored inside the database.
2. Logical level: It is the next higher level in the hierarchy that provides the abstraction. It describes what
data are stored and the relationship between them.
3. View level: It is the highest level in hierarchy that describes part of the entire database. It allows user
to view the database and do the query.
- Extension tells about the number of tuples presented in a table at any instance, whereas intension
gives the name, structure and constraint of the table.
What are its two major subsystems of System R?
System R is being developed by IBM. Its purpose is to demonstrate the possible solution to build a
relational database system. The relational database system has to be such that which can interact with
the real life environment to sole real life scenarios.
2. System relational system: This includes the relational data that a system has to produce and keep
everything in relation.
Data independence tells about the independence of the data inside the application. It usually deals with
the storage structure and represents the ability to modify the schema definition. It doesn’t affect the
schema definition which is being written on the higher level.
1. Physical data independence: It allows the modification to be done in physical level and doesn’t affect
the logical level.
2. Logical data independence: It allow the modification to be done at logical level and affects the view
level.
- View is a virtual table that doesn’t really exist, but it remains present so that user can view their data.
- It is derived from the base table. The view is stored in the data dictionary and represents the file
directly.
- It is related to the logical data independence as it is at the logical level and not at the physical level.
E-R model stands for entity-relationship model and it is used to represent a model with their
relationships. This is an object oriented approach and it is based on real world that consists of objects
which are called entities and relationship between them. Entities are further used inside the database in
the form of attributes.
- ACID stands for Atomicity, Consistency, Isolation and durability and it plays an important role in the
database.
- These properties allow the database to be more convenient to access and use. This allows data to be
shared more safely in between the tables.
- If these properties are not being implemented then the data will become inconsistent and inaccurate.
- Cardinality is important and used to arrange the data inside the database.
- It is used in E-R diagrams and used to show the relationship between entities/tables.
- It has many forms like the basic is one to one, which associate one entity with another.
- Second is one to many: which relates one entity with many entities in a table.
- Third is many to many M: N that allows many entities to be related to many more.
- Last is many to one that allows the many entities to be associated with one entity.
- DBMS is persistent and accessible when the data is created or exists, but RDBMS tells about the
relation between the table and other tables.
- RDBS supports a tabular structure for data and relationship between them in the system whereas
DBMS supports only the tabular structure.
- DBMS provide uniform methods for application that has to be independently accessed, but RDBMS
doesn’t provide methods like DBMS but provide relationship which link one entity with another
SQL was designed with the purpose of managing data held in__
Which is the correct syntax to retrieve all rows from the table?
a) DROP command removes a table from the database & TRUNCATE removes all rows from a table
b) TRUNCATE TABLE cannot activate a trigger because the operation does not log individual row
deletions.& Delete activates a trigger because the operation are logged individually
c) TRUNCATE TABLE always locks the table and page but not each row & DELETE statement is executed
using a row lock, each row in the table is locked for deletion
b) You cannot drop a tablespace that contains a domain index or any objects created by a domain index.
c) You cannot drop an undo tablespace if it is being used by any instance or if it contains any undo data
needed to roll back uncommitted transactions.
If you want to add new data in a database which command will you use
ANSWER: a) Insert
Suppose your assistant, named Jene has not been previously authorized to add data about new
customers into the database, which of the following statement can be used to give her that
permission
a) Grant
b) Revoke
ANSWER: d) Round( )
ANSWER: d) FIRST()
If the primary key is not included in the query result , duplicate rows can occur in result set then how
you can eliminate the duplicate rows of query result.
ANSWER: b) LEVEL
ANSWER: a) ROWID
To use the result of certain query repeatedly which clause will you use?
ANSWER: b) With
Which command will you use to delete entire table from database?
ANSWER: b) Drop
SQL ______performs a JOIN against equality or matching column(s) values of the associated tables.
Which of the following queries will correctly show the tables owned by the user?
Data files are logically grouped together into an oracle logical structure called a
ANSWER: a) Tablespace
To create a table name Customer having fields Cust-name, Cust_address from the table Employee and
Customer table should not be populated with any record from Employee table which of the following
query will be correct?
ANSWER: c) Create table Customer (Cust-name, Cust_address) As Select emp_name, emp_address from
Employee where 1=2;
Which of the following tasks cannot be performed when using Alter Table clause?
a) A & B
b) A,B, & C
c) Only C
d) B & C
a) Update
b) Modify
c) Rename
d) Describe
ANSWER: a) Update
Up to how many columns can be combined to form a composite primary key for a table?
a) 16
b) 8
c) 18
d) 14
ANSWER: a) 16
Select from the following option which not true about primary key
ANSWER: a) Primary key can be Long & long Raw data type
To compare one value with more than one or list of values then which of the following operator will
fulfil the need?
a) Like
b) IN
c) AND
d) Between
ANSWER: b) IN
Which of the following query is correctly give the user name of the currently logged in user?
The ___ operator is used to calculate aggregates and super aggregates for expressions within a
________.
a) ROLLUP, GROUP BY
b) ROLLUP, ORDER BY
c) CUBE , GROUP BY
d) ROLLUP,CUBE
b) Grant
c) Revoke
d) Grant All
Grant all on Customer to Reeta with grant option, what is the significance of ‘with grant option’ in this
query?
a) Give the user “Reeta” privileges to view only data on table Customer along with an option to further
grant permissions on the Customer table to other users.
b) Give the user “Reeta” all data manipulation privileges on table Customer.
c) Give the user “Reeta” all data manipulation privileges on table Customer along with an option to
further grant permissions on the Customer table to other users.
d) Give the user “Reeta” all data manipulation privileges on table Customer along with an option to not
further grant permissions on the Customer table to other users.
ANSWER: c) Give the user “Reeta” all data manipulation privileges on table Customer along with an
option to further grant permissions on the Customer table to other users.
a) Update
b) Alter
c) Create
d) Select
ANSWER: d) Select
a) Views defined from a single table. If user wants to Insert records with the help of a view, then the
primary key column and all the Not Null columns must be included in the view
b) The user can Update, Delete records with the help of a view even if the primary key column and Not
Null column(s) are executed from the view definition
c) Both a & b
Which of the following query will correctly create the view of Employee table having fields
fname,lname,dept?
a) OWNER
b) TABLE_NAME
c) SEARCH_CONDITION\
d) DB_DOMAIN
ANSWER: d) DB_DOMAIN
a) Order by clause
b) Group by clause
c) Aggregate functions
d) Sequence
______ clause can be used to find unique values in situations to which ____ apply.
b) HAVING, DISTINCT
d) HAVING, GROUP BY
a) NUMBER
b) DATE
c) LONG
d) FRACTION
ANSWER: d) FRACTION
a) Check
b) Unique
c) References
d) Index
ANSWER: a) Check
a) Self-join
b) Cross-join
c) Outer Join
ANSWER: a) Self-join
A sub query is a form of an SQL statement that appears ______ another SQL statement.
a) At the start of
b) Inside
c) Outside
d) After
ANSWER: b) Inside
a) Raw
b) LONG
c) bfile
d) rowid
ANSWER: a) Raw
A____ level constraint must be applied if data constraint spans across multiple columns in a table.
a) Table
b) Row
c) Column
d) Database
ANSWER: a) Table
a) NOT NULL
b) CHECK
c) UNIQUE
d) PRIAMRY KEY
a) UPPER( )
b) FLOOR( )
c) LEAST( )
d) ABS( )
ANSWER: a) UPPER( )
What is Index?
What is Trigger?
- A Trigger is a process of firing an action when some event like Insert, Update or Delete occurs.
- A trigger can’t be called or even executed rather they are automatically become active by the DBMS whenever some
modification in associated table occur.
- Triggers are event driven and can attached to particular table in a database.
- Triggers are implicitly executed and stored procedures are also executed by triggers.
- Referential integrity is maintained by the trigger and they are managed and stored by DBMS.
- Triggers can be nested also, in which Insert, Update or Delete logic can be fired from the trigger itself.
What is a NOLOCK?
What is the STUFF function and how does it differ from the REPLACE function?
where stringToChange is the string which will have the characters those we want to overwrite, startIndex is the starting
position, length is the number of characters in the string that are to be overwrited, and new_characters are the new
characters to write into the string.
- While REPLACE function is used to replace specified character at all its existing occurrences.
- The syntax of REPLACE function is REPLACE (string_to_change, string_to_Replace, new_tring).
- Every occurrence of string_to_change will be replaced by new_string.
- Procedure can reduce network traffic and latency, and can enhance application performance.
- Procedure execution plans can be reused, staying cached in the management tool's memory, reducing its overhead.
- Procedures provide the benefit of code reuse.
- The logic can be encapsulated using procedures and can help to change procedure's code without interacting to applica
- Procedures give more security to our data.
- RANK function can be used to give a rank to each row returned from a SELECT statment.
- For using this function first specify the function name, followed by the empty parentheses.
- Then mention the OVER function. For this function, you have to pass an ORDER BY clause as an argument. The clause
identifies the column on which you are going to apply the RANK function.
For Example:
SELECT RANK() OVER(ORDER BY BirthDate DESC) AS [RowNumber], FirstName, BirthDate FROM EmpDetails
- In the result you will see that the eldest employee got the first rank and the youngest employee got the last rank. Here t
rows with equal age will get same ranks.
- The rank depends on the row's position in the result set, but not on the sequential number of the row.
What are cursors and when they are useful?
- When we execute any SQL operations, SQL Server opens a work area in memory which is called Cursor.
- When it is required to perform the row by row operations which are not possible with the set-based operations then cu
used.
1. Implicate Cursor
- SQL Server automatically manages cursors for all data manipulation statements. These cursors are called implicit cursors
2. Explicit Cursor
- When the programmer wants to perform the row by row operations for the result set containing more than one row, th
explicitly declare a cursor with a name.
- They are managed by OPEN, FETCH and CLOSE.
-%FOUND, %NOFOUND, %ROWCOUNT and %ISOPEN attributes are used in both types of cursors.
- Similarity
- Both Truncate and Delete command will delete data from given table and they will not delete the table structure from t
database.
- Difference
1. TRUNCATE is a DDL (data definition language) command whereas DELETE is a DML (data manipulation language) comm
2. We can’t execute a trigger with TRUNCATE whereas with DELETE command, a trigger can be executed.
3. We can use any condition in WHERE clause using DELETE but it is not possible with TRUNCATE.
4. If table is referenced by any foreign key constraints then TRUNCATE cannot work.
5. TRUNCATE is faster than DELETE, because when you use DELETE to delete the data, at that time it store the whole data
rollback space from where you can get the data back after deletion, whereas TRUNCATE will not store data in rollback spa
and will directly delete it. You can’t get the deleted data back when you use TRUNCATE.
- COMMIT statement is used to end the current transaction and once the COMMIT statement is exceucted the transaction
be permanent and undone.
- Syntax: COMMIT;
- Example:
BEGIN
UPDATE EmpDetails SET EmpName = ‘Arpit’ where Dept = ‘Developer’
COMMIT;
END;
-ROLLBACK statement is used to end the current transaction and undone the changes which was made by that transaction
- Syntax: ROLLBACK [TO] Savepoint_name;
- Example:
BEGIN
Statement1;
SAVEPOINT mysavepoint;
BEGIN
Statement2;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK TO mysavepoint;
Statement5;
END;
END;
What is a WITH(NOLOCK)?
- WITH(NOLOCK) is used to unlock the data which is locked by the transaction that is not yet committed. This command is
before SELECT statement.
- When the transaction is committed or rolled back then there is no need to use NOLOCK function because the data is alre
released by the committed transaction.
- Syntax: WITH(NOLOCK)
- Example:
SELECT * FROM EmpDetails WITH(NOLOCK)
WITH(NOLCOK) is similar as READ UNCOMMITTED.
What is difference between Co-related sub query and nested sub query?
- Correlated subquery executes single time for every row which is selected by the outer query.
- It has a reference to a value from the row selected by the outer query.
- Nested subquery executes only once for the entire nesting (outer) query. It does not contain any reference to the outer
query row.
- For example,
- Correlated Subquery:
select e.EmpFirstName, e.Salary, e.DeptId from Employee e where e.Salary = (select max(Salary) from Employee ee where
ee.DeptId = e.DeptId)
- Nested Subquery:
select EmpFirstName, Salary, DeptId from Employee where (DeptId, Salary) in (select DeptId, max(Salary) from Employee
group by DeptId)
- INTERSECT - It will give all the distinct rows from both select queries.
- MINUS - It will give distinct rows returned by the first query but not by the second query.
- UNION - It will give all distinct rows selected by either first query or second query.
- UNION ALL - It will give all rows returned by either query with all duplicate records.
Using Join in a query, we can retrieve referenced columns or rows from multiple tables.
1. JOIN: Return details from tables if there is at least one matching row in both tables.
2. LEFT JOIN: It will return all rows from the left table, even if there are no matching row in the right table.
3. RIGHT JOIN: It will return all rows from the right table, even if there is no matching row in the left table.
4. FULL JOIN: It will return rows when there is a match in either of tables.
1) DDL: The SQL commands which deals with database schemas and information of how the data will be generated in
database are classified as Data Definition Language.
-For example: CREATE TABLE or ALTER TABLE belongs to DDL.
2) DML: The SQL commands which deals with data manipulation are classified as Data Manipulation Language.
For example: SELECT, INSERT, etc.
3) DCL: The SQL commands which deal with rights and permission over the database are classified as DCL.
For example: GRANT, REVOKE
- Query performance as well as speed improvement of a database can be done using Indexes.
- The process of enhancing the selection of indexes is called Index Tuning.
Index tuning is part of database tuning for selecting and creating indexes. The index tuning goal is to
reduce the query processing time. Potential use of indexes in dynamic environments with several ad-hoc
queries in advance is a difficult task. Index tuning involves the queries based on indexes and the indexes
are created automatically on-the-fly. No explicit actions are needed by the database users for index
tuning.
1) Define Database.
2) What is DBMS?
Database Management Systems (DBMS) are applications designed especially which enable user
interaction with other applications.
Data definition
Update
Retrieval
Administration
Navigational model
Query language
A data model determining fundamentally how data can be stored, manipulated and organised and the
structure of the database logically is called database model.
9) What is SQL?
Structured Query Language (SQL) being ANSI standard language updates database and commands for
accessing.
One-to-one: Single table having drawn relationship with another table having similar kind of columns.
Organized data void of inconsistent dependency and redundancy within a database is called
normalization.
No duplicate entries
Boosting up database performance, adding of redundant data which in turn helps rid of complex data is
called denormalization.
Manipulating data in a database such as inserting, updating, deleting is defined as Data Manipulation
Language. (DML)
They are:
DROP: It destroys an existing database, index, table or view. Its syntax is:
A database object which helps in manipulating data row by row representing a result set is called cursor.
They are:
Static: doesn’t reflect changes while scrolling and works on recording of snapshot.
Implicit cursor: Declared automatically as soon as the execution of SQL takes place without the
awareness of the user.
Explicit cursor: Defined by PL/ SQL which handles query in more than one row.
Both having B-tree structure, non-clustered index has data pointers enabling one table many non-
clustered indexes while clustered index is distinct for every table.
Functions which operate against a collection of values and returning single value is called aggregate
functions
Scalar function is depended on the argument given and returns sole value.
25) What restrictions can you apply when you are creating views?
A ‘correlated subquery’ is a sort of sub query but correlated subquery is reliant on another query for a
value that is returned. In case of execution, the sub query is executed first and then the correlated
query.
Storage and access of data from the central location in order to take some strategic decision is called
Data Warehousing. Enterprise management is used for managing the information whose framework is
known as Data Warehousing.
Joins help in explaining the relation between different tables. They also enable you to select data with
relation to data in another table.
INNER JOINs: Blank rows are left in the middle while more than equal to two tables are joined.
OUTER JOINs: Divided into Left Outer Join and Right Outer Join. Blank rows are left at the specified side
by joining tables in other side.
Other joins are CROSS JOINs, NATURAL JOINs, EQUI JOIN and NON-EQUI JOIN.
Indexes help in improving the speed as well as the query performance of database. The procedure of
boosting the collection of indexes is named as Index hunting.
Index hunting helps in improving the speed as well as the query performance of database. The followed
measures are achieved to do that:
The query optimizer is used to coordinate the study of queries with the workload and the best use of
queries suggested based on this.
Index, query distribution along with their performance is observed to check the effect.
Tuning databases to a small collection of problem queries is also recommended.
No indexes
SQL Server caches collected procedure or the plan of query execution and used thereafter by
subsequent calls.
A data structure in the form of tree which stores sorted data and searches, insertions, sequential access
and deletions are allowed in logarithmic time.
Iterating over all the table rows is called Table Scan while iterating over all the index items is defined as
Index Scan.
36) What do you mean by Fill Factor concept with respect to indexes?
Fill Factor can be defined as being that value which defines the percentage of left space on every leaf-
level page that is to be packed with data. 100 is the default value of Fill Factor.
37) Define Fragmentation.
Fragmentation can be defined as a database feature of server that promotes control on data which is
stored at table level by the user.
An outer loop within an inner loop is formed consisting of fewer entries and then for individual entry,
inner loop is individually processed.
E.g.
For every row of outer table, access the rows of inner table.
outer_loop
inner_loop
Hash join
Build: It is a hash table having in-memory which is present on the smaller table.
Probe: this hash value of the hash table is applicable for each second row element.
Two independent sources of data are joined in sort merge join. They performance is better as compared
to nested loop when the data volume is big enough but it is not good as hash joins generally.
The full operation can be divided into parts of two:
if R1 joins with R2
else
Division of logical database into independent complete units for improving its management, availability
and performance is called Database partitioning.
Splitting of one table which is large into smaller database entities logically is called database
partitioning. Its benefits are:
To improve query performance in situations dramatically when mostly rows which are heavily accessed
are in one partition.
Slower and cheaper storage media can be used for data which is seldom used.
Query Evaluation Engine executes the low-level instructions that are generated by the compiler.
Aggregation: The collected entities and their relationship are aggregated in this model. It is mainly used
in expressing relationships within relationships.
Analysis Phase.
Redo Phase
Undo Phase
Compilations of objects make up this model in which values are stored within instance variables which is
inside the object. The object itself comprises bodies of object for its operation which are called methods.
Objects containing same kind of variables and methods are called classes.
It can be defined as being a ‘thing’ with an independent existence in the real world.
Compilation of all entries of any particular type of entry in the database is called Entity Set.
Compilation of similar entity types into one particular type which is grouped together as an entity set.