P. 1
SQL Server Interview Questions

SQL Server Interview Questions

|Views: 23|Likes:
Published by Sachin

More info:

Published by: Sachin on Dec 08, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/08/2010

pdf

text

original

Database admin interview questions Database

1. What is a major difference between SQL Server 6.5 and 7.0 platform wise? SQL Server 6.5

runs only on Windows NT Server. SQL Server 7.0 runs on Windows NT Server, workstation and Windows 95/98.

2. Is SQL Server implemented as a service or an application? It is implemented as a service on
Windows NT server and workstation and as an application on Windows 95/98.

3. What is the difference in Login Security Modes between v6.5 and 7.0? 7.0 doesn’t have
Standard Mode, only Windows NT Integrated mode and Mixed mode that consists of both Windows NT Integrated and SQL Server authentication modes. 4. What is a traditional Network Library for SQL Servers? Named Pipes. 5. What is a default TCP/IP socket assigned for SQL Server? 1433 6. If you encounter this kind of an error message, what you need to look into to solve this problem? [Microsoft][ODBC SQL Server Driver][Named Pipes]Specified SQL Server not found. 1. Check if MS SQL Server service is running on the computer you are trying to log into 2. Check on Client Configuration utility. Client and Server have to in sync. What is new philosophy for database devises for SQL Server 7.0? There are no devises anymore in SQL Server 7.0. It is file system now. When you create a database how is it stored? It is stored in two separate files: one file contains the data, system tables, other database objects, the other file stores the transaction log. Let’s assume you have data that resides on SQL Server 6.5. You have to move it SQL Server 7.0. How are you going to do it? You have to use transfer command. Do you know how to configure DB2 side of the application? Set up an application ID, create RACF group with tables attached to this group, attach the ID to this RACF group. What kind of LAN types do you know? Ethernet networks and token ring networks. What is the difference between them? With Ethernet, any devices on the network can send data in a packet to any location on the network at any time. With Token Ring, data is transmitted in ‘tokens’ from computer to computer in a ring or star configuration. Token ring speed is 4/16 Mbit/sec , Ethernet - 10/100 Mbit/sec. What protocol both networks use? TCP/IP. Transmission Control Protocol, Internet Protocol. How many bits IP Address consist of?An IP Address is a 32-bit number. How many layers of TCP/IP protocol combined of? Five. (Application, Transport, Internet, Data link, Physical). How do you define testing of network layers? Reviewing with your developers to identify the layers of the Network layered architecture, your Web client and Web server application interact with. Determine the hardware and software configuration dependencies for the application under test. How do you test proper TCP/IP configuration Windows machine? Windows NT: IPCONFIG/ALL, Windows 95: WINIPCFG, Ping or ping ip.add.re.ss

7. 8. 9. 10. 11. 12.

13. 14. 15. 16. 17.

1. What is a Cartesian product? What causes it? Expected answer: A Cartesian product is the result of an unrestricted join of two or more tables. The result set of a three table Cartesian product will have x * y * z number of rows where x, y, z correspond to the number of rows in each table involved in the join. It is causes by specifying a table in the FROM clause without joining it to another table. 2. What is an advantage to using a stored procedure as opposed to passing an SQL query from an application. Expected answer: A stored procedure is pre-loaded in memory for faster execution. It allows the DBMS control of permissions for

security purposes. It also eliminates the need to recompile components when minor changes occur to the database. 3. What is the difference of a LEFT JOIN and an INNER JOIN statement? Expected answer: A LEFT JOIN will take ALL values from the first declared table and matching values from the second declared table based on the column the join has been declared on. An INNER JOIN will take only matching values from both tables 4. When a query is sent to the database and an index is not being used, what type of execution is taking place? Expected answer: A table scan. 5. What are the pros and cons of using triggers? Expected answer: A trigger is one or more statements of SQL that are being executed in event of data modification in a table to which the trigger belongs. Triggers enhance the security, efficiency, and standardization of databases. Triggers can be beneficial when used: – to check or modify values before they are actually updated or inserted in the database. This is useful if you need to transform data from the way the user sees it to some internal database format. – to run other non-database operations coded in user-defined functions – to update data in other tables. This is useful for maintaining relationships between data or in keeping audit trail information. – to check against other data in the table or in other tables. This is useful to ensure data integrity when referential integrity constraints aren’t appropriate, or when table check constraints limit checking to the current table only. 6. What are the pros and cons of using stored procedures. When would you use them? 7. What are the pros and cons of using cursors? When would you use them?

Database programming for the Web interview questions Database Q: How would you make the following SQL statement run faster? SELECT * FROM TABLEA WHERE COL1=’A’ AND COL2=’B'; A: Make sure that COL1 and COL2 have indexes. Find out which condition will return less value and use that as the first conditional. Q: What is Data Mining A: Data Mining is the process of sifting through extremely large amounts of Data to find trends or relevant information. Q: Name the Seven layers in the OSI Model. A: Appication, Presentation, Session, Transport, Network, Data Link, Phyiscal Q: What is one way to view a unix network share on a Windows computer, within explorer A: NFS, The Unix computer can be running a NFS Server Daemon. Q: How would you find all the processes running on your computer? A: UNIX is ps -ef or ps -aux depending on version.

Q: What is DHCP A: DHCP is a way to dynamically assign IP address to computers. Dynamic Host Configuration Protocol Q: What is HTTP Tunneling A: HTTP Tunneling is a security method that encrypts packets traveling through the internet. Only the intended recipient should be able to decrypt the packets. Can be used to Create Virtual Private Networks. (VPN) Q: Scenario: You have 9 identical looking balls; however one ball is heavier than the others. You have two chances to use a balance. How do you find out which ball is the heaviest? A: Split into groups of three, randomly choose two groups and use balance on them. If one group is heavier, then discard the other 6 balls. If the two groups are the same weight. The heavier ball must be in the group that was not on the scale. Now randomly choose two balls and test on balance. If they are the same weight, the heaviest ball is on one that was not tested. Else the heaviest ball is already known from the balance. read all questions Comments RSS feed for comments on this post. The URI to TrackBack this entry is: http://www.techinterviews.com/wp-trackback.php/43 1. i don’t see why these questions are for database programming… it seems more like they are for administration. ppl who can answer the above questions how do u know they can write stored procedure, triggers, database design, use cursor, grant premission, etc… ? Comment by _b66 — 3/12/2004 @ 8:30 pm 2. Hi Friends, This is Sachin Rastogi. As there is no questions for SQL, PL/SQL on this site, I would like to provide you the same. Just shake your head in solving these questions. If you can’t then don’t worry you can mail me at rsachin@krify.com for the answers of these questions. Hope that these questions will help you.. 1. Which of the following statements contains an error? A. SELECT * FROM emp WHERE empid = 493945; B. SELECT empid FROM emp WHERE empid= 493945; C. SELECT empid FROM emp; D. SELECT empid WHERE empid = 56949 AND lastname = ‘SMITH’; 2. Which of the following correctly describes how to specify a column alias? A. Place the alias at the beginning of the statement to describe the table. B. Place the alias after each column, separated by white space, to describe the column. C. Place the alias after each column, separated by a comma, to describe the column. D. Place the alias at the end of the statement to describe the table. 3. The NVL function A. Assists in the distribution of output across multiple columns. B. Allows the user to specify alternate output for non-null column values. C. Allows the user to specify alternate output for null column values. D. Nullifies the value of the column output.

The emacs editor will become the SQL*Plus default text editor. BECKETT “The Glass Menagerie”. ‘ || author FROM plays. SELECT (TO_CHAR(NVL(SQRT(59483). “LOA”. how long will a variable remain so in SQL*Plus? A. Until the session completes 11. SELECT play_name. Which of the following is not a group function? A. C. Until the database is shut down B. The default character for specifying runtime variables in SELECT statements is . is shown below. author FROM plays. avg( ) B. EMP B. What will be displayed if the EMPID selected is 60494? SELECT DECODE(empid. ACTIVE 7. FALSE 8. The emacs editor will no longer be used by SQL*Plus as the default text editor. ‘ || author PLAY_TABLE FROM plays. The appropriate table to use when performing arithmetic calculations on values defined within the SELECT statement (not pulled from a table column) is A. sqrt( ) C. A. SELECT play_name || author FROM plays. The user issues the following statement. “Terminated”. The emacs editor will be deleted from the system. max( ) 10. SELECT play_name||’. C. D.4. B. WILLIAMS A. DUAL D. 60494 B. “INVALID")) FROM DUAL is a valid SQL statement. 5. B. The table containing the column values C. SELECT play_name||’. 6. The emacs editor will start running immediately. Until the instance is shut down C. TRUE B.60494. Which of the following SQL statements produced it? PLAY_TABLE ————————————“Midsummer Night’s Dream”. sum( ) D. Issuing the DEFINE_EDITOR="emacs” will produce which outcome? A. Output from a table called PLAYS with two columns. “ACTIVE") FROM emp. SHAKESPEARE “Waiting For Godot”.38475. An Oracle-defined table 9. D. Once defined. A. PLAY_NAME and AUTHOR. Terminated D. LOA C. Until the statement completes D.

D. A user is setting up a join operation between tables EMP and DEPT. select e. Quotation marks D.dept# = d. INSERT INTO employee VALUES (59694.’HARRIS’).’HARRIS’.head from emp e. . D.ANIMALS. B. B. Which SELECT statement is most appropriate for this user? A. C. INSERT INTO employee VALUES (59694. VARCHAR2 C. LASTNAME.empid. Omitting the WHERE clause from a DELETE statement has which of the following effects? A. A table named MASTER will be created in the ANIMALS schema with the same data as the ANJU table owned by ANIMALS.empid. B. C. INSERT INTO employee (EMPID. Creating a foreign-key constraint between columns of two tables defined with two different datatypes will produce an error.empid. There are some employees in the EMP table that the user wants returned by the query.head from emp e. Ellipses C. Which statement would work best? A. C.’HARRIS’). 17. 14. User JANKO would like to insert a row into the EMPLOYEE table. dept d where e. select e. FALSE 18. d.head from emp e. Ampersand B. No effect. The user would like to enter data for EMPID 59694. but no salary. select e.dept#. A table named ANIMALS will be created in the MASTER schema with the same data as the ANIMALS table owned by ANJU. 13. What is the effect of this statement? A. d. B. A. which has three columns: EMPID. NUMBER 16. A table named ANIMALS will be created in the ANJU schema with the same data as the ANIMALS table owned by MASTER. Asterisk 12. The delete statement will remove all records from the table. TRUE B. dept d. but the employees are not assigned to departments yet.dept# (+). LASTNAME. The delete statement will fail because of syntax error. A table named ANJU will be created in the ANIMALS schema with the same data as the ANIMALS table owned by MASTER. d. INSERT INTO employee (SELECT 59694 FROM ‘HARRIS’).dept# = d. CHAR B. dept d where e. and SALARY.A.empid. Developer ANJU executes the following statement: CREATE TABLE animals AS SELECT * from MASTER. The index will be dropped. Dropping a table has which of the following effects on a nonunique index created for the table? A. B. dept d where e.dept#.dept# (+) = d. NULL). select e. BOOLEAN D. 15. LASTNAME Harris. d.) A. D. SALARY) VALUES (59694. The delete statement will prompt the user to enter criteria for the deletion C.head from emp e. The delete statement will fail because there are no records to delete. Which three of the following are valid database datatypes in Oracle? (Choose three. D.

The index will be rendered invalid. D. SQRT B. FROM emp C. Which names are displayed? A. Which of the following lines in the SELECT statement below contain an error? A. DESC D. D. D. B. populate the column. To increase the number of nullable columns for a table. Which function below can best be categorized as similar in function to an IF-THEN-ELSE statement? A.1. CONSTRAINT pk_goods_01 E. 23. CREATE TABLE goods B. 19. lastname ASC. There are no errors in this statement. 20. FALSE 22. 58385. WHERE SUBSTR(lastname. then add the column. The index will contain NULL values. C. Names containing “a” as any letter except the first . TRUE B. ASC C. ROWIDTOCHAR 24. F. (good_no NUMBER. Use the alter table statement. Names starting with “a” B. AND empid > 02000 E. SELECT DECODE(empid. DISC 25. NEW_TIME D.C. ABS B. Ensure that all column values are NULL for all rows. MAXVALUE is a valid parameter for sequence creation. Which line of the following statement will produce an error? A. A. “INACTIVE”. You query the database with this command SELECT name FROM employee WHERE name LIKE ‘_a%’. Names starting with “a” or “A” C. F. good_name VARCHAR2 check(good_name in (SELECT name FROM avail_goods)). Add the column. C.1) > TO_NUMBER(’S') D. 21. “ACTIVE") empid B. Which two of the following orders are used in ORDER BY clauses? (choose two) A. PRIMARY KEY (goodno)). There are no errors in this statement. DECODE C. A. ORDER BY empid DESC. Names containing “a” as second character D. then add the NOT NULL constraint. First increase the size of adjacent column datatypes.

cursor for loops handle cursor opening implicitly. There are no errors in this statement.lname%rowtype. D. IF-THEN D. %row count E. and the corresponding table and column is EMPLOYEE. Which of the following is not a feature of a cursor FOR loop? A. Fetches records from cursor. It causes the cursor to close B. 28. and LNAME. C. Use employee. which of the following would cause an infinite loop to occur in a simple loop? A. A developer would like to use referential datatype declaration on a variable. %not found D. Implicit cursors are used for SQL statements that are not named. 32. 27. open B. D. What happens when rows are found using a FETCH statement A. B. Which line in the following statement will produce an error? A.lname%type.PL/SQL 26. The variable name is EMPLOYEE_LASTNAME. Opening and parsing of SQL statements. C. Requires exit condition to be defined. LOOP B. 29. It causes the cursor to open C. parse D. Implicit cursors are used in cursor for loops to handle data processing. rate. None. 33. Developers should use implicit cursors with great care. EXIT 31. respectively. into action record D. %row type 30. %too_many_rows C. Use employee. Which of the following statements is true about implicit cursors? A. action C. How would the developer define this variable using referential data types? A. D. B. fetches C. It loads the current row values into variables D. cursor action cursor is B. C. select name. If left out. It creates the variables to hold the current row values . END LOOP C. Which three of the following are implicit cursors attributes? A. Record type declaration. B. Declare it to be type LONG. The command used to open a CURSOR FOR loop is A. Look up datatype for EMPLOYEE column on LASTNAME table and use that. Implicit cursors are no longer a feature in Oracle. from action table E. %found B.

BEGIN SELECT yearly_budget INTO v_yearly_budget FROM studio WHERE id = v_studio_id.cost_per_ticket > 3.75) 36. Which mode should be used for V_COST_PER_TICKET? A. All referenced D. END IF. IN B. Oracle Forms trigger 38. Row only D. WHEN (:new. CREATE OR REPLACE PROCEDURE find_cpt (v_movie_id {Argument Mode} NUMBER. WHERE (new. Statement and Row B. OUT C.75. None 37.cost_per_ticket > 3. Which trigger information will you add? A. END. Statement only C. COST_PER_TICKET. v_cost_per_ticket {argument mode} NUMBER) IS BEGIN IF v_cost_per_ticket > 8.75) D. All that apply C. Only one B. CREATE OR REPLACE TRIGGER update_show_gross {trigger information} BEGIN {additional code} END.75) B.cost_per_ticket > 3. .5 THEN SELECT cost_per_ticket INTO v_cost_per_ticket FROM gross_receipt WHERE movie_id = v_movie_id. WHERE (:new. is greater than $3. IN OUT 35. WHEN (new. For which trigger timing can you reference the NEW and OLD qualifiers? A. RETURN D.34. What is the maximum number of handlers processed before the PL/SQL block is exited when an exception occurs? A. The trigger code should only execute when the column.cost_per_ticket > 3. CREATE OR REPLACE FUNCTION get_budget(v_studio_id IN NUMBER) RETURN number IS v_yearly_budget NUMBER.75 C.

Check for success by checking the value of SQL%FOUND immediately after the UPDATE statement. VARIABLE :g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). 40. D. SELECT empid FROM emp. CREATE OR REPLACE PROCEDURE update_theater (v_name IN VARCHAR2. C.THEATER_NAME_UK) violated. B. So here they are: SQL — 1. Which set of statements will successfully invoke this function within SQL*Plus? A. VARIABLE g_yearly_budget NUMBER EXECUTE g_yearly_budget := GET_BUDGET(11). C. Which of the following statements contains an error? A. Ans: D 2. 39. SELECT * FROM emp WHERE empid = 493945. D. VARIABLE g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). CREATE OR REPLACE PROCEDURE calculate_budget IS v_budget studio. D. you encounter the error: ORA-00001: Unique constraint(SCOTT. Which of the following correctly describes how to specify a column alias? . Hello friends. Handle the error in EXCEPTION section by referencing the error code directly. END update_theater.com/wp-trackback. B. C. IF v_budget Comment by http://www. VARIABLE g_yearly_budget NUMBER :g_yearly_budget := GET_BUDGET(11).RETURN v_yearly_budget. Sachin again. END. How should you modify the function to handle this error? A.php/43 — 5/3/2004 @ 12:24 am 3. Many of you mailed asking to send the answers of above questions. SELECT empid FROM emp WHERE empid= 493945. SELECT empid WHERE empid = 56949 AND lastname = ‘SMITH’.yearly_budget%TYPE.techinterviews. An user defined exception must be declared and associated with the error code and handled in the EXCEPTION section. BEGIN v_budget := get_budget(11). When invoking this procedure. B. Handle the error in the EXCEPTION section by referencing the UNIQUE_ERROR predefined exception. v_theater_id IN NUMBER) IS BEGIN UPDATE theater SET name = v_name WHERE id = v_theater_id.

Ans: A 6. C. SELECT play_name. B. “Terminated”. “INVALID")) FROM DUAL is a valid SQL statement. ‘ || author FROM plays. SELECT (TO_CHAR(NVL(SQRT(59483). author FROM plays.60494. C. Ans: B 3. Assists in the distribution of output across multiple columns. Which of the following SQL statements produced it? PLAY_TABLE ————————————“Midsummer Night’s Dream”. Nullifies the value of the column output. BECKETT “The Glass Menagerie”. Terminated D. Place the alias at the beginning of the statement to describe the table. TRUE B. Ans: C 4. to describe the column. What will be displayed if the EMPID selected is 60494? SELECT DECODE(empid.A. Ans: D 5. D. The user issues the following statement. B. Issuing the DEFINE_EDITOR="emacs” will produce which outcome? A. D. Allows the user to specify alternate output for non-null column values. FALSE Ans: B . SHAKESPEARE “Waiting For Godot”. 60494 B. A. Allows the user to specify alternate output for null column values. Place the alias at the end of the statement to describe the table. The emacs editor will no longer be used by SQL*Plus as the default text editor. D. to describe the column. separated by white space. SELECT play_name || author FROM plays. Place the alias after each column. Place the alias after each column. LOA C. The emacs editor will become the SQL*Plus default text editor. The emacs editor will start running immediately. C. “LOA”. The NVL function A. D. C. SELECT play_name||’. A.38475. PLAY_NAME and AUTHOR. B. The emacs editor will be deleted from the system. WILLIAMS A. ACTIVE Ans: B 7. B. separated by a comma. SELECT play_name||’. Output from a table called PLAYS with two columns. “ACTIVE") FROM emp. ‘ || author PLAY_TABLE FROM plays. is shown below.

max( ) Ans: B 10. how long will a variable remain so in SQL*Plus? A.dept# = d. EMP B.8. dept d where e.empid. Which SELECT statement is most appropriate for this user? A. select e.dept# (+) = d. Ans: D 13. The table containing the column values C. A table named ANJU will be created in the ANIMALS schema with the same data as the ANIMALS table owned by MASTER.ANIMALS. avg( ) B. A user is setting up a join operation between tables EMP and DEPT. sum( ) D. .empid.empid. sqrt( ) C. Which of the following is not a group function? A. Until the database is shut down B. B. A table named ANIMALS will be created in the ANJU schema with the same data as the ANIMALS table owned by MASTER. Quotation marks D.dept# (+). B.dept# = d. DUAL D. C. select e.empid. An Oracle-defined table Ans: C 9. What is the effect of this statement? A. select e. dept d where e. Once defined.head from emp e. d. but the employees are not assigned to departments yet. The appropriate table to use when performing arithmetic calculations on values defined within the SELECT statement (not pulled from a table column) is A.dept#. Until the statement completes D. A table named MASTER will be created in the ANIMALS schema with the same data as the ANJU table owned by ANIMALS. Asterisk Ans: A 12.head from emp e. A table named ANIMALS will be created in the MASTER schema with the same data as the ANIMALS table owned by ANJU. There are some employees in the EMP table that the user wants returned by the query. Until the session completes Ans: D 11. D. Until the instance is shut down C. C. d.head from emp e. select e. d. Developer ANJU executes the following statement: CREATE TABLE animals AS SELECT * from MASTER. dept d where e. D.head from emp e.dept#. Ampersand B. dept d. The default character for specifying runtime variables in SELECT statements is A. Ellipses C. d.

BOOLEAN D. C. TRUE B. LASTNAME. Ensure that all column values are NULL for all rows.Ans: C 14. The delete statement will fail because of syntax error. B. The index will contain NULL values. Use the alter table statement.’HARRIS’.D 16. LASTNAME. User JANKO would like to insert a row into the EMPLOYEE table. then add the NOT NULL constraint. Dropping a table has which of the following effects on a nonunique index created for the table? A. Which three of the following are valid database datatypes in Oracle? (Choose three. and SALARY. INSERT INTO employee (EMPID. Ans: B 19. The index will be rendered invalid. A. Add the column. SALARY) VALUES (59694. Which statement would work best? A. NULL). The user would like to enter data for EMPID 59694. B. INSERT INTO employee (SELECT 59694 FROM ‘HARRIS’). The index will be dropped. populate the column. A. Ans: D 17. INSERT INTO employee VALUES (59694. Which line of the following statement will produce an error? .’HARRIS’). The delete statement will prompt the user to enter criteria for the deletion C. No effect.) A. Omitting the WHERE clause from a DELETE statement has which of the following effects? A. The delete statement will remove all records from the table. then add the column. FALSE Ans: A 18. NUMBER Ans: A. CHAR B. First increase the size of adjacent column datatypes. D. D.’HARRIS’). The delete statement will fail because there are no records to delete. D. B. VARCHAR2 C. INSERT INTO employee VALUES (59694. To increase the number of nullable columns for a table. but no salary. C.B. LASTNAME Harris. Ans: A 15. C. D. which has three columns: EMPID. Creating a foreign-key constraint between columns of two tables defined with two different datatypes will produce an error. Ans: A 20. B.

PRIMARY KEY (goodno)). DECODE C. Names containing “a” as second character D. SELECT DECODE(empid. You query the database with this command SELECT name FROM employee WHERE name LIKE ‘_a%’.A. Names starting with “a” or “A” C. C. MAXVALUE is a valid parameter for sequence creation. 58385. DESC D. Names containing “a” as any letter except the first Ans: C . TRUE B. There are no errors in this statement. WHERE SUBSTR(lastname. Which two of the following orders are used in ORDER BY clauses? (choose two) A.1. FROM emp C. AND empid > 02000 E. “INACTIVE”. SQRT B. “ACTIVE") empid B. D. ASC C. Which names are displayed? A. Which of the following lines in the SELECT statement below contain an error? A.C 25. (good_no NUMBER.1) > TO_NUMBER(’S') D. NEW_TIME D. A. CONSTRAINT pk_goods_01 E. lastname ASC. good_name VARCHAR2 check(good_name in (SELECT name FROM avail_goods)). ABS B. F. Names starting with “a” B. Ans: C 21. FALSE Ans: A 22. There are no errors in this statement. CREATE TABLE goods B. Which function below can best be categorized as similar in function to an IF-THEN-ELSE statement? A. F. ORDER BY empid DESC. ROWIDTOCHAR Ans: B 24. DISC Ans: B. Ans: F 23.

B. Ans: C . Implicit cursors are used for SQL statements that are not named. %too_many_rows C.PL/SQL —— 26. C. Use employee. How would the developer define this variable using referential datatypes? A.lname%rowtype. LOOP B. from action_table. Which line in the following statement will produce an error? A. into action_record D. D. If left out. D. Implicit cursors are no longer a feature in Oracle. action C. %notfound D.lname%type. Which of the following is not a feature of a cursor FOR loop? A. rate. cursor action_cursor is B. Declare it to be type LONG. A developer would like to use referential datatype declaration on a variable. Requires exit condition to be defined. Which three of the following are implicit cursor attributes? A. B. C. There are no errors in this statement. Use employee. Record type declaration. Ans: D 28. The variable name is EMPLOYEE_LASTNAME. Implicit cursors are used in cursor for loops to handle data processing. Ans: B 27.D 30. END LOOP C. Opening and parsing of SQL statements. C. Ans: A 29. Fetches records from cursor. select name. %rowcount E. and LNAME. which of the following would cause an infinite loop to occur in a simple loop? A. D. Look up datatype for EMPLOYEE column on LASTNAME table and use that. Developers should use implicit cursors with great care. and the corresponding table and column is EMPLOYEE. Which of the following statements is true about implicit cursors? A. EXIT Ans: D 31. respectively. B. %rowtype Ans: A. %found B.C. IF-THEN D. E.

Which trigger information will you add? A.75. is greater than $3. OUT C. END.cost_per_ticket > 3. open B. What is the maximum number of handlers processed before the PL/SQL block is exited when an exception occurs? A. The trigger code should only execute when the column. COST_PER_TICKET.32. CREATE OR REPLACE TRIGGER update_show_gross {trigger information} BEGIN {additional code} END. Only one B.75 C. WHERE (new. None. It creates the variables to hold the current row values Ans: C 34. WHEN (:new. fetch C. CREATE OR REPLACE PROCEDURE find_cpt (v_movie_id {Argument Mode} NUMBER. All that apply . END IF. It loads the current row values into variables D. cursor for loops handle cursor opening implicitly.75) Ans: B 36.5 THEN SELECT cost_per_ticket INTO v_cost_per_ticket FROM gross_receipt WHERE movie_id = v_movie_id.75) D. IN OUT Ans: D 35. It causes the cursor to close B. v_cost_per_ticket {argument mode} NUMBER) IS BEGIN IF v_cost_per_ticket > 8. What happens when rows are found using a FETCH statement A. RETURN D. Ans: D 33.cost_per_ticket > 3.cost_per_ticket > 3.cost_per_ticket > 3. WHERE (:new. IN B.75) B. It causes the cursor to open C. WHEN (new. parse D. Which mode should be used for V_COST_PER_TICKET? A. The command used to open a CURSOR FOR loop is A.

Statement and Row B. Ans: A 39. All referenced D. B. Statement only C. END. . An user defined exception must be declared and associated with the error code and handled in the EXCEPTION section. END update_theater. CREATE OR REPLACE FUNCTION get_budget(v_studio_id IN NUMBER) RETURN number IS v_yearly_budget NUMBER. Handle the error in EXCEPTION section by referencing the error code directly. RETURN v_yearly_budget. How should you modify the function to handle this error? A. v_theater_id IN NUMBER) IS BEGIN UPDATE theater SET name = v_name WHERE id = v_theater_id. you encounter the error: ORA-00001: Unique constraint(SCOTT. None Ans: A 37. For which trigger timing can you reference the NEW and OLD qualifiers? A. Which set of statements will successfully invoke this function within SQL*Plus? A.THEATER_NAME_UK) violated. VARIABLE g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). D. VARIABLE :g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). When invoking this procedure. BEGIN SELECT yearly_budget INTO v_yearly_budget FROM studio WHERE id = v_studio_id. CREATE OR REPLACE PROCEDURE update_theater (v_name IN VARCHAR2. B. C. VARIABLE g_yearly_budget NUMBER EXECUTE g_yearly_budget := GET_BUDGET(11).C. Oracle Forms trigger Ans: C 38. VARIABLE g_yearly_budget NUMBER :g_yearly_budget := GET_BUDGET(11). Row only D.

2. parse 4. D.lname%rowtype. Which of the following is not a feature of a cursor FOR loop? 1. Implicit cursors are used for SQL statements that are not named. Handle the error in the EXCEPTION section by referencing the UNIQUE_ERROR predefined exception. 1. %rowcount 5. 4. Implicit cursors are used in cursor for loops to handle data processing. cursor action_cursor is 2.lname%type. Developers should use implicit cursors with great care. Which of the following statements is true about implicit cursors? 2. into action_record 4.yearly_budget%TYPE. action 3. Implicit cursors are no longer a feature in Oracle. select name. Look up datatype for EMPLOYEE column on LASTNAME table and use that. It causes the cursor to open 3. 2. 5. What happens when rows are found using a FETCH statement 1. rate.C. 6. None. It causes the cursor to close 2. %found 2. %notfound 4. Which three of the following are implicit cursor attributes? 1. which of the following would cause an infinite loop to occur in a simple loop? 1. %too_many_rows 3. 8. IF-THEN 4. 3. Use employee. Record type declaration. cursor for loops handle cursor opening implicitly. END LOOP 3. How would the developer define this variable using referential datatypes? 1. It loads the current row values into variables . %rowtype If left out. 3. There are no errors in this statement. Use employee. 3. Check for success by checking the value of SQL%FOUND immediately after the UPDATE statement. The command used to open a CURSOR FOR loop is 1. 5. EXIT Which line in the following statement will produce an error? 1. 2. 4. Declare it to be type LONG. Ans: A 40. open 2. fetch 3. Opening and parsing of SQL statements. and LNAME. A developer would like to use referential datatype declaration on a variable. LOOP 2. CREATE OR REPLACE PROCEDURE calculate_budget IS v_budget studio. 4. and the corresponding table and column is EMPLOYEE. Fetches records from cursor. Requires exit condition to be defined. The variable name is EMPLOYEE_LASTNAME. 3. IF v_budget PL/SQL interview qiuestions Database 1. 4. respectively. from action_table. BEGIN v_budget := get_budget(11). 7.

WHEN (new.cost_per_ticket > 3. Statement only 3. It creates the variables to hold the current row values 9. {trigger information} BEGIN {additional code} END.cost_per_ticket > 3. OUT 3. END IF. Only one 2. Row only 4. None 28. Statement and Row 2. 26. 25. Which mode should be used for V_COST_PER_TICKET? 1.75) 4. All referenced 4. Read the following code: 10. All that apply 3. WHERE 19. IF v_cost_per_ticket > 8. COST_PER_TICKET. The trigger code should only execute when the column. IS 13. IN OUT 21. For which trigger timing can you reference the NEW and OLD qualifiers? 1. (v_movie_id {Argument Mode} NUMBER. IN 2. WHERE (:new. is greater than $3. v_cost_per_ticket {argument mode} NUMBER) 12. Which trigger information will you add? 1.5 THEN 15. 24. . RETURN 4. FROM 18.75 3.75) 2. CREATE OR REPLACE PROCEDURE find_cpt 11.cost_per_ticket > 3. INTO 17. What is the maximum number of handlers processed before the PL/SQL block is exited when an exception occurs? 1. Read the following code: 22. BEGIN 14. 20.75) 27. END. WHERE (new.4. CREATE OR REPLACE TRIGGER update_show_gross 23.cost_per_ticket > 3. SELECT cost_per_ticket 16. Oracle Forms trigger 29. Read the following code: v_cost_per_ticket gross_receipt movie_id = v_movie_id. WHEN (:new.

4. 2. VARIABLE g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). END.30. 31. VARIABLE g_yearly_budget NUMBER :g_yearly_budget := GET_BUDGET(11). 36. CREATE OR REPLACE FUNCTION get_budget(v_studio_id IN NUMBER) RETURN number IS v_yearly_budget NUMBER. CREATE OR REPLACE PROCEDURE update_theater 32. 35.THEATER_NAME_UK) violated. Which set of statements will successfully invoke this function within SQL*Plus? 1. 37. When invoking this procedure. 3. VARIABLE g_yearly_budget NUMBER EXECUTE g_yearly_budget := GET_BUDGET(11). VARIABLE :g_yearly_budget NUMBER EXECUTE :g_yearly_budget := GET_BUDGET(11). END update_theater. you encounter the error: ORA-000: Unique constraint(SCOTT. (v_name IN VARCHAR v_theater_id IN NUMBER) IS 33. RETURN v_yearly_budget. . 38. BEGIN SELECT yearly_budget INTO v_yearly_budget FROM studio WHERE id = v_studio_id. BEGIN 34. UPDATE theater SET WHERE name = v_name id = v_theater_id.

IF TO_CHAR(sysdate. 2. 2. 45. {additional trigger information} 54. The GET_BUDGET function will be marked invalid and must be recompiled before the next execution. An user defined exception must be declared and associated with the error code and handled in the EXCEPTION section. 2. Handle the error in the EXCEPTION section by referencing the UNIQUE_ERROR predefined exception.30000000). Read the following code: 40. 3.How should you modify the function to handle this error? 1. 44. BEGIN 43. Handle the error in EXCEPTION section by referencing the error code directly. RAISE_SERVER_ERROR 50. 39. 58.Gross receipts cannot be deleted on Monday). 51. Check for success by checking the value of SQL%FOUND immediately after the UPDATE statement. RAISE_ERROR 2. studio. ALTER TABLE check_theater ENABLE check_theater. 4. IF v_budget < 30000 THEN set_budget(11. END IF. What effect will this have? 1. ENABLE TRIGGER check_theater. 56.yearly_budget%TYPE.Examine this database trigger 52. CREATE OR REPLACE PROCEDURE calculate_budget IS 41. SQLERRM 3. DY) = MON THEN RAISE_APPLICATION_ERROR(-20000. 49. END. 3. ENABLE check_theater. The CHECK_THEATER trigger of the THEATER table has been disabled. CREATE OR REPLACE TRIGGER prevent_gross_modification 53. Only the CALCULATE_BUDGET procedure needs to be recompiled. v_budget := get_budget(11). ALTER TRIGGER check_theater ENABLE. All three procedures are marked invalid and must be recompiled. END IF. 47. 57. The SET_BUDGET function will be marked invalid and must be recompiled before the next execution. v_budget 42. BEGIN 55. 4. Which procedure can be used to create a customized error message? 1. 48. 4. 3. 46. Which command can you issue to enable this trigger? 1. You are about to add an argument to CALCULATE_BUDGET. . RAISE_APPLICATION_ERROR 4.

Examine this function: 61. BEGIN 64. FOR EACH ROW DELETED FROM gross_receipt 60. Add RETURN boolean right after the IS keyword. 65. CREATE OR REPLACE FUNCTION set_budget 62. AFTER DELETE ON gross_receipt 3. Removing a local variable from the DECLARE section of one of the package constructs Procedure and Functions are explicitly executed. This is different from a database trigger. ELSE RETURN FALSE. Any SQL statement change made to one of the package constructs 4. It should fire only once for the entire DELETE statement. BEFORE (gross_receipt DELETE) 4. 3. IF SQL%FOUND THEN RETURN TRUEl. Which code must be added to successfully compile this function? 1. UPDATE studio SET WHERE yearly_budget = v_new_budget id = v_studio_id. Altering the argument list of one of the package constructs 2. COMMIT. Add RETURN number right before the IS keyword. END IF.59. Add RETURN boolean right before the IS keyword. . Add RETURN right before the IS keyword. END. Under which circumstance must you recompile the package body after recompiling the package specification? 1. 4. END. When is a database trigger executed? 66. BEFORE DELETE ON gross_receipt 2. 67. 2. (v_studio_id IN NUMBER. Any change made to one of the package constructs 3. This trigger must fire before each DELETE of the GROSS_RECEIPT table. v_new_budget IN NUMBER) IS 63. What additional information must you add? 1.

DBMS_OUTPUT 3. Any DML statements issued by the construct are still pending and can be committed or rolled back. The construct rolls back any DML statements issued and returns the unhandled exception to the calling environment.Examine this code 71. BEGIN 72. DBMS_LIST 4. what must be true? 1. Unless a GOTO statement is used to continue processing within the BEGIN section. Hope this helps you prepare for your interview. for your convenience: 1. 3. A stored function must return a value based on conditions that are determined at runtime. here are some questions for you. 2. 73. theater_pck. END. 2. books online and other resources on the net. the construct terminates. DBMS_SYN 4. Which Oracle supplied package can you use to output values and messages from database triggers. be prepared to explain the database design of one of your latest projects. During a data manipulation statement and when the transaction is committed 68. Wish you all the best in your job hunt! Feel free to email me ‘interview questions’ that you’ve faced. DBMS_DDL 2. For this code to be successful.1. 70. Any DML statements issued by the construct are committed 3. Only the V_TOTAL_SEATS_SOLD_OVERALL variable must exist in the specification of the THEATER_PCK package. but be advised that these answers may not be complete and it will be better for you to go through text books. Database design (8 questions) . Therefore. Well. What occurs if a procedure or function terminates with failure without being handled? 1. Don’t be surprised if the interviewer asks you to draw ER diagrams. DBMS_DISPLAY 2. SQL Server. DBMS_SQL 74.get_total_for_year. DBMS_DML 3. During the data manipulation statement 3. stored procedures and functions within SQL*Plus? 1. 4. Both the V_TOTAL_SEATS_SOLD_OVERALL variable and the GET_TOTAL_FOR_YEAR function must exist in the specification of the THEATER_PCK package. DBA interview questions Database A site visitor writes: Here are some SQL Server DBA/Developer interview questions I faced myself personally and/or heard from people. When an Oracle supplied package references the trigger 4. I will try to answer these questions briefly here. Before you go for the interview. DBMS_DESCRIBE 69. Questions are categorized under the following sections. Which Oracle supplied package will enable this feature? 1. the SELECT statement cannot be hard-coded and must be created dynamically when the function is executed. Only the GET_TOTAL_FOR_YEAR variable must exist in the specification of the THEATER_PCK package. When the transaction is committed 2. 4. Both the V_TOTAL_SEATS_SOLD_OVERALL variable and the GET_TOTAL_FOR_YEAR function must exist only in the body of the THEATER_PCK package.v_total_seats_sold_overall := theater_pck.

One-to-Many relationships are implemented by splitting the data into two tables with primary key and foreign key relationships. For more information and explanation of these properties. it will be okay if you can explain till third normal form. SQL Server architecture (12 questions) Database administration (13 questions) Database programming (10 questions) Database design • • • • • • • • • What is normalization? Explain different levels of normalization? o Check out the article Q100139 from Microsoft knowledge base and of course. What is bit datatype and what’s the information that can be stored inside a bit column? o Bit datatype is used to store boolean information like 1 or 0 (true or false). where are unique creates a nonclustered index by default. 4. Most of the times. In this case you could create a user defined datatype called Flight_num_type of varchar(8) and use it across all your tables. which is NULL. See sp_addtype. one of them will become the primary key. It will be a good idea to read up a database designing fundamentals text book. If the table has more than one candidate key. Many-to-Many relationships are implemented using a junction table with the keys from both the tables forming the composite primary key of the junction table. and format to the database. These are the properties of a transaction. Here are the other isolation levels (in the ascending order of isolation): Read Uncommitted. primary key doesn’t allow NULLs. A key formed by combining at least two or more columns is called composite key. Untill SQL Server 6. and the rest are called alternate keys. Define candidate key. Repeatable Read. It’s the controlled introduction of redundancy in to the database design.0 onwards.A transaction operating at the Read Committed level cannot see changes made by other transactions until those transactions are committed. if no value is supplied to that column while inserting data. It helps improve the query performance as the number of joins could be reduced. IDENTITY columns and timestamp columns can’t have defaults bound to them. alternate key. all the steps must be performed or none. but unique key allows one NULL only. See SQL Server books online for an explanation of the isolation levels. 3. see SQL Server books online or any RDBMS fundamentals text book. J. there’s much more information available in the net. How do you implement one-to-one. o A candidate key is one that can identify each row of a table uniquely. See CREATE DEFAULT in books online. What are user defined datatypes and when you should go for them? o User defined datatypes let you extend the base SQL Server datatypes by providing a descriptive name. there is a column called Flight_Num which appears in many tables. bit datatype can represent a third state.5 bit datatype could hold either a 1 or 0 and there was no support for NULL. and Durability. Generally a candidate key becomes the primary key of the table. Explain different isolation levels An isolation level determines the degree of isolation of data between concurrent transactions. What’s the difference between a primary key and a unique key? o Both primary key and unique enforce uniqueness of the column on which they are defined.2. Date. 5. At this level of . It’ll be a good idea to get a hold of any RDBMS fundamentals text book. Consistency. sp_droptype in books online. The default SQL Server isolation level is Read Committed. ACID stands for Atomicity. denormalization is the reverse process of normalization. But from SQL Server 7. composite key. in your database. What is a transaction and what are ACID properties? o A transaction is a logical unit of work in which. In all these tables it should be varchar(8). Read Committed. Read Committed . Be sure to read about SET TRANSACTION ISOLATION LEVEL. Serializable. especially the one by C. What is denormalization and when would you go for it? o As the name indicates. Take for example. Another major difference is that. one-to-many and many-to-many relationships while designing tables? o One-to-One relationship can be implemented as a single table and rarely as two tables with primary and foreign key relationships. which lets you customize the isolation level at the connection level. Isolation. But by default primary key creates a clustered index on the column. What are defaults? Is there a column to which a default can’t be bound? o A default is a value that will be used by a column.

and only the page deallocations are recorded in the transaction log. but it won’t log the deletion of each row. use DELETE statement without a WHERE clause. Important thing to note: By default a clustered index gets created on the primary key.• • • • • • • isolation. SQL Server books online is the best place to read about SQL Server architecture. unless specified otherwise. more memory being occupied by locks. Read up the chapter dedicated to SQL Server Architecture. At this level of isolation. Also check out the section titled "Backward Compatibility" in books online which talks about the changes that have taken place in the new version. nonrepeatable reads. Lock escalation threshold was definable in SQL Server 6. The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table’s data. use the DROP TABLE statement. SQL Server escalates the many fine-grain locks to fewer coarse-grain locks. TRUNCATE TABLE can be rolled back. and phantoms are not possible. instead.5. Because TRUNCATE TABLE is not logged. Explain Active/Active and Active/Passive cluster configurations Hopefully you have experience setting up cluster servers. But TRUNCATE TABLE is faster and uses fewer system and transaction log resources than DELETE. The counter used by an identity for new rows is reset to the seed for the column. You cannot use TRUNCATE TABLE on a table referenced by a FOREIGN KEY constraint. which has all such information. instead it logs the deallocation of the data pages of the table.A transaction operating at the Serializable level guarantees that all concurrent transactions interact only in ways that produce the same effect as if each transaction were entirely executed one after the other. Repeatable Read . but the table structure and its columns. Serializable . at least be familiar with the way clustering works and the two clusterning configurations Active/Active and Active/Passive. TRUNCATE TABLE also deletes all the rows in a table.0 onwards it’s dynamically managed by SQL Server. which makes it faster. What are the new features introduced in SQL Server 2000 (or the latest release of SQL Server at the time of your interview)? What changed between the previous version of SQL Server and the current version? o This question is generally asked to see how current is your knowledge. Of course. What are constraints? Explain different types of constraints. reading just that is not enough. Every lock is a memory structure too many locks would mean. dirty reads. What’s the maximum size of a row? o 8060 bytes. Don’t be surprised with questions like ‘what is the maximum number of columns per table’. indexes and so on remain. ROLAP and HOLAP in SQL Server books online for more infomation. constraints. Explain the architecture of SQL Server This is a very important question and you better be able to answer it if consider yourself a DBA. but from SQL Server 7. which makes it slow.A transaction operating at the Repeatable Read level is guaranteed not to see any changes made by other transactions in values it has already read. page locks) into higher level locks (like table locks). But if you don’t. TRUNCATE TABLE may not be used on tables participating in an indexed view Explain the storage models of OLAP o Check out MOLAP. dirty reads. If you want to remove table definition and its data. dirty reads are not possible but nonrepeatable reads and phantoms are possible. CREATE INDEX myIndex ON myTable(myColumn)What type of Index will get created after executing the above statement? o Non-clustered index. 1024 columns per table. and phantoms are all possible. dirty reads and nonrepeatable reads are not possible but phantoms are possible. What is lock escalation? o Lock escalation is the process of converting a lot of low level locks (like row locks. Of course. At this isolation level. What’s the difference between DELETE TABLE and TRUNCATE TABLE commands? o DELETE TABLE is a logged operation. you should have tried those things to better answer the questions. Generally there is a section in the beginning of the books online titled "What’s New". . SQL Server books online has enough information on this topic and there is a good white paper available on Microsoft site. TRUNCATE TABLE is functionally identical to DELETE statement with no WHERE clause: both remove all rows in the table. Check out SQL Server books online for the page titled: "Maximum Capacity Specifications". it cannot activate a trigger. If you want to retain the identity counter. At this level of isolation. Read Uncommitted . nonrepeatable reads. use DELETE instead. To prevent this from happening. TRUNCATE TABLE removes all rows from a table. so the deletion of each row gets logged in the transaction log.A transaction operating at the Read Uncommitted level can see uncommitted changes made by other transactions.

used to provide fault tolerance to database servers. Check out SET DEADLOCK_PRIORITY and "Minimizing Deadlocks" in SQL Server books online. there can be only one clustered index per table. FOREIGN KEY. Indexes are of two types. But some general issues that you could talk about would be: No indexes. At the same t ime. Non-clustered indexes are stored as B-tree structures (so do clustered indexes). What is blocking and how would you troubleshoot it? o Blocking happens when one connection from an application holds a lock and a second connection requires a conflicting lock type. forcing a write transaction to wait indefinitely. if you are tasked with securing an SQL Server? o Again this is another open ended question. MSDN has some information about RAID levels and for detailed information. setting up firewalls. unless one of the user processes is terminated. fault tolerance. table scans. all the rows in the table are stored in the order of the clustered index key. Another disadvantage is that.com What are the steps you will take. SQL Server detects the situation after four denials and refuses further shared locks. data modification operations (such as INSERT. databse and application roles to control access to the data. as every time data changes in the table. What is RAID and what are different types of RAID configurations? o RAID stands for Redundant Array of Inexpensive Disks. Don’t forget to check out sql-server-performance. This forces the second connection to wait. Read up the following topics in SQL Server books online: Understanding and avoiding blocking. setting up SSL. excess recompilations of stored procedures. SET SHOWPLAN_TEXT ON. as the query optimizer can choose from all the existing indexes to come up with an efficient execution plan. Windows NT /2000 Performance monitor. blocked on the first. UPDATE. Read the white paper on SQL Server security from Microsoft website. A livelock also occurs when read transactions monopolize a table or page. Here are some things you could talk about: Preferring NT authentication. more disk space is used. The row located could be the RID or the Clustered index key. Explain CREATE DATABASE syntax Many of us are used to creating o . procedures and triggers without SET NOCOUNT ON. What are the advantages and disadvantages of this approach? o Indexes in SQL Server are similar to the indexes in books. each having a lock on one piece of data. using multiprotocol encryption. CHECK. When you create a clustered index on a table. Some of the tools/ways that help you troubleshooting performance problems are: SET SHOWPLAN_ALL ON. poorly written query with unnecessarily complicated joins. Also check out My SQL Server security best practices What is a deadlock and what is a live lock? How will you go about resolving deadlocks? o Deadlock is a situation when two processes. If you create an index on each column of a table. indexes need disk space. check out the RAID advisory board’s homepage What are the steps you will take to improve performance of a poor performing query? o This is a very open ended question and there could be a lot of reasons behind the poor performance of a query. renaming the Administrator account on the SQL Server computer. For an explanation of these constraints see books online for the pages titled: "Constraints" and "CREATE TABLE". depending up on the absence or presence of clustered index on the table. PRIMARY KEY. So. SET STATISTICS IO ON. with the leaf level nodes having the index key and it’s row locater. the more indexes you have. Types of constraints: NOT NULL. too much normalization. enabling auditing. excess usage of cursors and temporary tables. using server. securing the physical database files using NTFS permissions. SQL Server Profiler. DELETE) will become slow. rule or defaults. UNIQUE. isolating SQL Server from the web server etc. all the indexes need to be updated. Each process would wait indefinitely for the other to release the lock. disabling the Guest account. where a request for an exclusive lock is repeatedly denied because a series of overlapping shared locks keeps interfering. SQL Server detects deadlocks and terminates one user’s process. blocking. Coding efficient transactions. There are six RAID levels 0 through 5 offering different levels of performance. missing or out of date statistics. "ALTER TABLE" What is an index? What are the types of indexes? How many clustered indexes can be created on a table? I create a separate index on each column of a table. Graphical execution plan in Query Analyzer. using an unguessable SA password. Clustered indexes and non-clustered indexes. attempt to acquire a lock on the other’s piece. without needing you to create triggers. A livelock is one. Non-clustered indexes have their own storage separate from the table data storage.• • • • • • Constraints enable the RDBMS enforce the integrity of the database automatically. Also check out the article Q169960 from Microsoft knowledge base. They help SQL Server retrieve the data quicker. Download the white paper on performance tuning SQL Server from Microsoft web site. restricting physical access to the SQL Server. it improves the query performance.

BCP. what are the main system tables used in replication etc. How to determine the service pack currently installed on SQL Server? o The global variable @@Version stores the build number of the sqlservr.exe. What are the disadvantages of cursors? How can you avoid cursors? o Cursors allow row-by-row processing of the resultsets. sp_createstats. creating INSERT scripts to generate data. under what circumstances they go out of date. But what if you have to create a database with two filegroups. DBCC SHRINKDATABASE. Some of the options you have are: BACKUP/RESTORE. DBCC SHOWCONTIG. filegroup backup. if the distribution of key values has changed). DBCC CHECKALLOC. To know more about this process visit SQL Server service packs and versions. Look up SQL Server books online for the following commands: UPDATE STATISTICS. where as a normal SELECT query makes only one roundtrip. DBCC SHOW_STATISTICS. What are statistics. STATS_DATE. set based operations can be used instead of cursors. Books online also has information on detailed backup/restore architecture and when one should go for a particular kind of backup. As a part of your job. as opposed to an index with non-unique values. dettaching and attaching databases. using the SQLSERVR. What is database replication? What are the different types of replication you can set up in SQL Server? o Replication is the process of copying/moving data between databases on the same or different servers. What are cursors? Explain different types of cursors. DTS. CREATE STATISTICS. DBCC CHECKCATALOG. how would you go about choosing a backup plan? o Types of backups you can create in SQL Sever 7. Check out SQL Server books online for more parameters and their explanations. See books online for more information. however large the resultset is. Be prepared to explain how different replication agents function. Types of cursors: Static. Most of the times. Check out the BACKUP and RESTORE commands in SQL Server books online. there are restrictions on the SELECT statements that can be used with some types of cursors. DBCC SHRINKFILE etc. SELECT…INTO. Check out SQL Server books online for more information. differential database backup. Here is an . replication. one on drive C and the other on drive D with log on drive E with an initial size of 600 MB and with a growth factor of 15%? o That’s why being a DBA you should be familiar with the CREATE DATABASE syntax. How to restart SQL Server in single user mode? How to start SQL Server in minimal configuration mode? o SQL Server can be started from command line. Forward-only. Some situations under which you should update statistics: 1) If there is significant change in the key values in the index 2) If a large amount of data in an indexed column has been added. with queued updating subscribers) · Merge replication See SQL Server books online for indepth coverage on replication. Query optimizer uses these indexes in determining whether to choose an index or not while executing a query. DROP STATISTICS. transaction log backup. -m is used for starting SQL Server in single user mode and -f is used to start the SQL Server in minimal configuration mode.0+ are Full database backup. you have to choose your option depending upon your requirements. it results in a network roundtrip. changed. Keyset-driven.EXE. sp_autostats. Further. or removed (that is. Be prepared to write the commands in your interview. sp_updatestats What are the different ways of moving data/databases between servers and databases in SQL Server? o There are lots of options available. INSERT…SELECT. DBCC CHECKTABLE. Cursors are also costly because they require more resources and temporary storage (results in more IO operations). or the table has been truncated using the TRUNCATE TABLE statement and then repopulated 3) Database is upgraded from a previous version. how do you update them? o Statistics determine the selectivity of the indexes. If an indexed column has unique values then the selectivity of that index is more. what are the DBCC commands that you commonly use for database maintenance? o DBCC CHECKDB. Dynamic. SQL Server supports the following types of replication scenarios: · Snapshot replication · Transactional replication (with immediate updating subscribers. But there are a whole load of DBCC commands which are very useful for DBAs. which is used to determine the service pack installed.• • • • • • • • • databases from the Enterprise Manager or by just issuing the command: CREATE DATABAE MyDB. Check out SQL Server books online for more information. Explain different types of BACKUPs avaialabe in SQL Server? Given a particular scenario. Disadvantages of cursors: Each time you fetch a row from the cursor. logshipping. This EXE has some very important parameters with which a DBA should be familiar with.

SYSTEM_USER. HOST_NAME(). it slows down the data insertion process. one for INSERT. Triggers are generally used to implement business rules. This can be achieved using WHILE loop. and have a job which periodically checks this table and does the needful. But in SQL Server 2000 you could create pre triggers also. Types of joins: INNER JOINs. as long as there is a unique key to identify each row. see ‘My code library’ section of this site. What is the system function to get the current user’s user id? o USER_ID(). VC++) object from T-SQL by using sp_OACreate stored procedure. they are called post triggers. In SQL Server 6.0. Can you have a nested transaction? o Yes. UPDATE or DELETE operation takes place on a table. SESSION_USER. sp_OADestroy. in an OLTP system. and you could create multiple triggers per each action.0 there’s no way to control the order in which the triggers fire. sp_OASetProperty. Here’s the basic syntax: (Also checkout SELECT in books online for advanced syntax). just the way we call normal stored procedures using the EXEC statement.0 onwards. Search SQL Server 2000 books online for INSTEAD OF triggers. In SQL Server 2000 you could specify which trigger fires first or fires last using sp_settriggerorder. Also check out other system functions like USER_NAME(). Joins also let you select data from a table depending upon data from another table. SUSER_SID(). What are triggers? How many triggers you can have on a table? How to invoke a trigger on demand? o Triggers are special kind of stored procedures that get executed automatically when an INSERT. C++ using Open Data Services (ODS) API) that can be called from T-SQL. CURRENT_USER. Same is the case with sending emails from triggers. They get triggered only when an associated action (INSERT. In this situation many developers tend to use a cursor. Triggers can also be used to extend the referential integrity checks. Check out BEGIN TRAN. CROSS JOINs. RIGHT OUTER JOINS and FULL OUTER JOINS. o SELECT select_list [INTO new_table_] FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC] ] What is a join and explain different types of joins. but wherever possible. sp_OAGetProperty. Till SQL Server 7. as constraints are much faster. USER. Also check out books online for ‘inserted table’. you can instantiate a COM (written in languages like VB. instead of triggers. See books online to learn how to create extended stored procedures and how to add them to SQL Server. DELETE) happens on the table on which they are defined. SAVE TRAN and @@TRANCOUNT What is an extended stored procedure? Can you instantiate a COM object by using T-SQL? o An extended stored procedure is a function within a DLL (written in a programming language like C. This scenario can be better implemented by logging all the necessary data into a separate table. . For an example of creating a COM object in VB and calling it from T-SQL. Yes. OUTER JOINs are further classified as LEFT OUTER JOINS. triggers fire only after the data modification operation happens. o Joins are used in queries to explain how different tables are related. ‘deleted table’ and COLUMNS_UPDATED() There is a trigger defined for INSERT operations on a table. What do you think of this implementation? Can this be implemented better? o Instantiating COM objects is a time consuming process and since you are doing it from within a trigger. The trigger is written to instantiate a COM object and pass the newly insterted rows to it for some custom processing. use constraints for this purpose. auditing. For more information see pages from books online titled: "Join Fundamentals" and "Using Joins".• • • • • • example: If you have to give a flat hike to your employees using the following criteria: Salary between 30000 and 40000 – 5000 hike Salary between 40000 and 55000 – 7000 hike Salary between 55000 and 65000 – 9000 hike. very much. Also see books online for sp_OAMethod. COMMIT. this restriction is gone. determine each employee’s salary and update his salary according to the above formula. check out the ‘My code library’ section of my site or search for WHILE. Write down the general syntax for a SELECT statements covering all the options. Triggers can’t be invoked on demand. ROLLBACK. You don’t have to use cursors for this. For examples of using WHILE loop for row by row processing. OUTER JOINs. But in 7. But the same can be achieved by multiple update statements or can be combined in a single UPDATE statement as shown below: o UPDATE tbl_emp SET salary = CASE WHEN salary BETWEEN 30000 AND 40000 THEN salary + 5000 WHEN salary BETWEEN 40000 AND 55000 THEN salary + 7000 WHEN salary BETWEEN 55000 AND 65000 THEN salary + 10000 END o Another situation in which developers tend to use cursors: You need to call a stored procedure when a column in a particular row meets certain condition. From SQL Server 7.5 you could define only 3 triggers per table. So in a way. UPDATE. one for UPDATE and one for DELETE.

2. Activity diagram. 9. Object diagram.2.empname [Employee]. Model helps to visualize the system. 7. before actually physically implementing the system. ‘No manager’) [Manager] FROM emp t1 LEFT OUTER JOIN emp t2 ON t1. functionality. economic and technology constraints. t2. Use case diagram. Model helps document the system.mgrid = t2. Sequence Diagram.empname [Manager] FROM emp t1. Component Diagram. 11. Generalization. Model helps to specify the structural and behavior of the system.empname [Employee]. Deployment diagram.’Sourabh’ o SELECT t1. behavioral.modeling the distribution of the systems processes and threads. Design View .This view exposes the requirements of a system. Generalization is relationships specified in the class subclass scenario. performance.empid UML interview questions General 1.empname. Here is an example: Employees table which contains rows for normal employees as well as managers. Aggregation is a type of association where there is a has a relation ship. Model is a simplification of reality. What are the major three types of modeling used? Major three types of modeling are structural. Statechart diagram. Static Diagrams (Also called Structural Diagram): Class diagram. it is a blueprint of the actual system that needs to be built.addressing the physical implementation of the system. o CREATE TABLE emp ( empid int. Testing. reuse. SDLC of a system included processes that are Use case driven. Deployment Diagram. What is Architecture? Architecture is not only taking care of the structural and behavioral aspect of a software system but also taking into account the software usage. 8. to find out the managers of all the employees.mgrid = t2. What are the different views that are considered when building an object-oriented software system? Normally there are 5 views. Project management. Most commonly it is used to show that one class uses another class as an argument in the signature of the operation. Construction.3. Requirement gathering. Activity Diagram. 3. and Association. Object Diagram. Model helps make templates for constructing the system. Mention the different kinds of modeling diagrams used? Modeling diagrams that are commonly used are. ño if there are two classes room and walls then the relation ship is called a association and further defined as an aggregation. What is SDLC? SDLC is Software Development Life Cycle. What is modeling? What are the advantages of creating a model? Modeling is a proven and wellaccepted engineering technique which helps build a model. The milestones are Inception.• What is a self join? Explain it with an example. emp t2 WHERE t1. and architectural. 10. COALESCE(t2. What are diagrams? Diagrams are graphical representation of a set of elements most often shown made of things and associations. That is a room has walls. Person works for a company. 5. mgrid int.’Shobha’ INSERT emp SELECT 4. Deployment. This Life cycle is divided into phases. and Transition. What are Relationships? There are different kinds of relationships: Dependencies. Phase is a time span between two milestones. Dependencies are relations ships between two entities that that a change in specification of one thing may affect another thing. Elaboration. statechart Diagram. Use Case view . you need a self join. Collaboration Diagram.2. Supporting Workflows are Configuration and change management.’Vyas’ INSERT emp SELECT 2. Process View . 6. Implementation.focus on the modeling the components required for deploying the system. constructing and documenting the artifacts of the system. Class Diagram.’Shridhar’ INSERT emp SELECT 5. .’Mohan’ INSERT emp SELECT 3. It allows you to create a blue print of all the aspects of the system. Deployment view . How are the diagrams divided? The nine diagrams are divided into static diagrams and dynamic diagrams. What is UML? UML is Unified Modeling Language. It is a graphical language for visualizing specifying 2. Process Workflows that evolve through these phase are Business Modeling. it is shown when one entity inherits from other. So. Analysis and Design.empid Here’s an advanced query using a LEFT OUTER JOIN that even returns the employees without managers (super bosses) o SELECT t1.NULL. empname char(10) ) o INSERT emp SELECT 1. Dynamic Diagrams (Also called Behavioral Diagrams): Use Case Diagram. 12. Component diagram. except that two instances of the same table will be joined in the query. Sequence Diagram. Architecture centric and Iterative and Incremental. o Self join is just like any other join. there are 9 of them. Collaboration Diagram. 4. Associations are structural relationships that are: a room has walls.Capturing the vocabulary. Implementation view .

13. default code. Only the intended reciepent should be able to decrypt the packets. and/or just stubs that have to be overridden. What are Messages? A message is the specification of a communication. Dyanmic Host Configuration Protocol Q: What is HTTP Tunneling A: HTTP Tunneling is a security method that encryptes packets traveling throught the internet. Find out which condition will return less values and use that as the first conditonal. If one group is heavier. If they are the same weight. Q: What is DHCP A: DHCP is a way to dynamically assign IP address to computers. Presentation. Q: What is Data Mining A: Data Mining is the process of sifting through extremely large amounts of Data to find trends or relevent information. Interface Vs abstract class Interfaces vs Abstract Classes Feature Multiple inheritance Default implementa tion Interface A class may implement several interfaces. A: Application. It involves the interaction of actors and the system. 14. . then discard the other 6 balls. Else the heaviest ball is already known from the balance. Now randomly choose two balls and test on balance. You have two chances to use a balance. Q: How would you find all the processes running on your computer. Q: Name the Seven layers in the OSI Model. óse cases are used to capture the behavior that need to be developed. If the two groups are the same weight. A: Unix. An abstract class can provide complete code. Can be used to Create Virtual Private Networks. Abstract class A class may extend only one abstract class. much less default code. however one ball is heavier than the others. is ps -ef or ps -aux depending on version. Transport. Network. the heaviest ball is on one that was not tested. Phyiscal Q: What is one way to view a unix network share on a Windows computer. (VPN) Q: Scenario: You have 9 identical looking balls. when a message is passed that results in action that is in turn an executable statement. Session. within explorer A: NFS. Data Link. The heavier ball must be in the group that was not on the scale. The Unix computer can be running a NFS Server Daemon. Database programming for the Web interview questions Database Q: How would you make the following SQL statement run faster? SELECT * FROM TABLEA WHERE COL1=’A’ AND COL2=’B'. What is an Use Case? A use case specifies the behavior of a system or a part of a system. An interface cannot provide any code at all. How do you find out which ball is the heaviest? A: Split into groups of three. A: Make sure that COL1 and COL2 have indexes. randomly choose two groups and use balance on them.

An interface implementation may be added to any existing third party class." If implementors/subclasses are homogeneous. Another issue that's important is what I call "heterogeneous vs.) If the various objects are all of-a-kind. then tend towards a common base class. If they are heterogeneous. Interfaces are often used to describe the peripheral abilities of a class. and share a common state and behavior. usually an abstract class works best. then tend towards an interface. if your client code talks only in terms of is-a vs -able or can-do Plug-in You can write a new replacement module for an interface that contains not one stick of code in common with the existing implementations. Both instance and static constants are possible. If all they share is a set of method signatures. If the various implementations are all of a kind and share a common status and behavior. If you defined a Dog abstract class then Damamation descendants are Dogs. You can use them and it is not obvious where they are coming from since the qualification is optional. Just like an interface. You must use the abstract class as-is for the code base. these unqualified names pollute the namespace. e. If your client code talks only in terms of an interface.Constants Static final constants only.g. Homogeneit y If all the various implementations share is the method signatures. tend towards an abstract base class. This gives you freedom to implement a radically different internal design. you Maintenanc e . Depending on the cleverness of the author of the abstract class. homogeneous. good or bad. then an interface works best. Both static and instance intialiser code are also possible to compute the constants. this may be good or bad. an Automobile class might implement the Recyclable interface. which could apply to many otherwise totally unrelated objects. The abstract class author has imposed structure on you. You have to obtain your tools from other classes. Third party convenienc e A third party class must be rewritten to extend only from the abstract class. On the other paw. they are not merely dogable. An abstract class defines the core identity of its descendants. nothing comes with the interface other than a few constants. not the things a class is. you start from scratch without any default implementation. (Now all I have to do is come up with a good definition of hetero/homo-geneous in this context. not its central identity. When you implement the interface. Implemented interfaces enumerate the general things a class can do. can use them without qualification in classes that implement the interface. use an interface. with all its attendant baggage.

Adding functionalit y If you add a new method to an abstract class. You must declare all the individual methods of an abstract class abstract. both instance and static. . requires extra indirection to find the corresponding method in the actual class. You can't call any methods to compute the initial values of your constants. You may use methods to compute the initial values of your constants and variables. If interfaces want to share code. an abstract class. If you add a new method to an interface. The constant declarations in an interface are all presumed public static final. you must track down all implementations of that interface in the universe and provide them with a concrete implementation of that method. using a factory method. using a factory method. where you cannot into an interface. you will have to write other bubblegum to arrange that. so you may leave that part out. They are all presumed so. Slow. You need not declare individual methods of an interface abstract. Then all existing code will continue to work without change.can easily change the concrete implementation behind it. you have the option of providing a default implementation of it. Modern JVMs are discovering ways to reduce this speed penalty. Speed Fast Terseness You can put shared code into an abstract class. you can easily change the concrete implementation behind it.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->