advanced MySQL questions

Category: SQL Questions    |    0 views    |    Add a Comment
  1. Explain MySQL architecture. - The front layer takes care of network connections and security authentications, the middle layer does the SQL query parsing, and then the query is handled off to the storage engine. A storage engine could be either a default one supplied with MySQL (MyISAM) or a commercial one supplied by a third-party vendor (ScaleDB, InnoDB, etc.)
  2. Explain MySQL locks. - Table-level locks allow the user to lock the entire table, page-level locks allow locking of certain portions of the tables (those portions are referred to as tables), row-level locks are the most granular and allow locking of specific rows.
  3. Explain multi-version concurrency control in MySQL. - Each row has two additional columns associated with it - creation time and deletion time, but instead of storing timestamps, MySQL stores version numbers.
  4. What are MySQL transactions? - A set of instructions/queries that should be executed or rolled back as a single atomic unit.
  5. What’s ACID? - Automicity - transactions are atomic and should be treated as one in case of rollback. Consistency - the database should be in consistent state between multiple states in transaction. Isolation - no other queries can access the data modified by a running transaction. Durability - system crashes should not lose the data.
  6. Which storage engines support transactions in MySQL? - Berkeley DB and InnoDB.
  7. How do you convert to a different table type? - ALTER TABLE customers TYPE = InnoDB
  8. How do you index just the first four bytes of the column? - ALTER TABLE customers ADD INDEX (business_name(4))
  9. What’s the difference between PRIMARY KEY and UNIQUE in MyISAM? - PRIMARY KEY cannot be null, so essentially PRIMARY KEY is equivalent to UNIQUE NOT NULL.
  10. How do you prevent MySQL from caching a query? - SELECT SQL_NO_CACHE …
  11. What’s the difference between query_cache_type 1 and 2? - The second one is on-demand and can be retrieved via SELECT SQL_CACHE …
    If you’re worried about the SQL portability to other servers, you can use SELECT /* SQL_CACHE */ id FROM … -
    MySQL will interpret the code inside comments, while other servers will ignore it.

Share/Save/Bookmark

 

EDS Visual Basic and SQL Server interview questions

Category: SQL Questions    |    1 views    |    Add a Comment
  1. What is the difference between modal and modaless form in VB?
  2. Why we need a MDI form? How can we make a form as a mdichild form?
  3. Specify technical & functional architecture of your last 2 projects.
  4. What are the objects in ADODB?
  5. What are different types of cursors in ADODB?
  6. What are different types of locks in ADODB?
  7. What is disconnected recordset?
  8. Besides Standard Exe what are other types of projects in VB?
  9. What is the difference among Standard EXE, Active-X DLL, Active-X EXE?
  10. A standard exe contains a registered Active-X DLL. Now some error arise in the application but not in the standard exe , it is in the Active-X DLL. How do you find it out in which line no the error is?
  11. How can we find out that a recordset is blank (without using recordcount property)?
  12. What is the difference between procedure and functions in VB?
  13. What are the differences between stored procedure and functions in SQL Server 2000?
  14. I want to develop a stand alone application which can communicate with the existing applications in the system. On which this application should be based on: Standard Exe,Active-X Exe,Active-X Dll.
  15. can we call stored Procedure in Function in Sql Server 2000 and vice versa.
  16. What is an extended Stored Procedure?
  17. What is Trigger?
  18. Suppose I made an after Trigger on Delete. Now I fire Delete * From tablename. will this trigger work? Now do I fire truncate from table name (instead of delete command). will this trigger work now? If yes or no then why?
  19. What is a view? is View updatable?
  20. What is the difference between having and where clause?
  21. Why we need a group by clause?
  22. What is a join and their types?
  23. What is the difference between referencing and joining?
  24. What is the difference between constraints and triggers?
  25. What is the maximum size of form to hold the controls?
  26. Write the correct order of execution of following form’s events: initialization, Load, Activate, Refresh , Paint
  27. What is ACID Property of Transaction?
  28. How do we call MS- Excel in VB?
  29. What does option Explicit means?
  30. What is an index?
  31. What is normalization and its forms?
  32. What does Query_unload event do in VB? Why we need Form _unload event?
  33. What is a cursor in SQL Server 2000 and their types?
  34. How do we get month name in SQL Server 2000, Oracle, MS Access?
  35. How do we return a record set from a Stored Procedure in SQl server 2000?
  36. What are the magic tables in SQL Server 2000?
  37. What is Enum in VB?

    There are 2 tables:
    EMP : EmpId, Ename, Sal, DeptId
    DEPT : DeptId, Dname

  38. Write a query to find out emp names and their department names. if any emp has null in Deptid the it shows “No Department”.
  39. Write a query to find out those department names which has no employee.
  40. Write a query to find out those employees whose salary is greater than their department’s average salary.
  41. How do we get current date in SQL Server 2000, Oracle, MS Access?

Share/Save/Bookmark

 

SQL study notes

Category: SQL Questions    |    1 views    |    Add a Comment

SQL
SQL is an English like language consisting of commands to store, retrieve, maintain & regulate access to your database.

SQL*Plus
SQL*Plus is an application that recognizes & executes SQL commands & specialized SQL*Plus commands that can customize reports, provide help & edit facility & maintain system variables.

NVL
NVL : Null value function converts a null value to a non-null value for the purpose of evaluating an expression. Numeric Functions accept numeric I/P & return numeric values. They are MOD, SQRT, ROUND, TRUNC & POWER.

Date Functions
Date Functions are ADD_MONTHS, LAST_DAY, NEXT_DAY, MONTHS_BETWEEN & SYSDATE.

Character Functions
Character Functions are INITCAP, UPPER, LOWER, SUBSTR & LENGTH. Additional functions are GREATEST & LEAST. Group Functions returns results based upon groups of rows rather than one result per row, use group functions. They are AVG, COUNT, MAX, MIN & SUM.

TTITLE & BTITLE
TTITLE & BTITLE are commands to control report headings & footers.

COLUMN
COLUMN command define column headings & format data values.

BREAK
BREAK command clarify reports by suppressing repeated values, skipping lines & allowing for controlled break points.

COMPUTE
command control computations on subsets created by the BREAK command.

SET
SET command changes the system variables affecting the report environment.

SPOOL
SPOOL command creates a print file of the report.

JOIN
JOIN is the form of SELECT command that combines info from two or more tables.
Types of Joins are Simple (Equijoin & Non-Equijoin), Outer & Self join.
Equijoin returns rows from two or more tables joined together based upon a equality condition in the WHERE clause.
Non-Equijoin returns rows from two or more tables based upon a relationship other than the equality condition in the WHERE clause.
Outer Join combines two or more tables returning those rows from one table that have no direct match in the other table.
Self Join joins a table to itself as though it were two separate tables.

Union
Union is the product of two or more tables.

Intersect
Intersect is the product of two tables listing only the matching rows.

Minus
Minus is the product of two tables listing only the non-matching rows.

Correlated Subquery
Correlated Subquery is a subquery that is evaluated once for each row processed by the parent statement. Parent statement can be Select, Update or Delete. Use CRSQ to answer multipart questions whose answer depends on the value in each row processed by parent statement.

Multiple columns
Multiple columns can be returned from a Nested Subquery.

Sequences
Sequences are used for generating sequence numbers without any overhead of locking. Drawback is that after generating a sequence number if the transaction is rolled back, then that sequence number is lost.

Synonyms
Synonyms is the alias name for table, views, sequences & procedures and are created for reasons of Security and Convenience.
Two levels are Public - created by DBA & accessible to all the users. Private - Accessible to creator only. Advantages are referencing without specifying the owner and Flexibility to customize a more meaningful naming convention.

Indexes
Indexes are optional structures associated with tables used to speed query execution and/or guarantee uniqueness. Create an index if there are frequent retrieval of fewer than 10-15% of the rows in a large table and columns are referenced frequently in the WHERE clause. Implied tradeoff is query speed vs. update speed. Oracle automatically update indexes. Concatenated index max. is 16 columns.

Data types
Max. columns in a table is 255. Max. Char size is 255, Long is 64K & Number is 38 digits.
Cannot Query on a long column.
Char, Varchar2 Max. size is 2000 & default is 1 byte.
Number(p,s) p is precision range 1 to 38, s is scale -84 to 127.
Long Character data of variable length upto 2GB.
Date Range from Jan 4712 BC to Dec 4712 AD.
Raw Stores Binary data (Graphics Image & Digitized Sound). Max. is 255 bytes.
Mslabel Binary format of an OS label. Used primarily with Trusted Oracle.

Order of SQL statement execution
Where clause, Group By clause, Having clause, Order By clause & Select.

Transaction
Transaction is defined as all changes made to the database between successive commits.

Commit
Commit is an event that attempts to make data in the database identical to the data in the form. It involves writing or posting data to the database and committing data to the database. Forms check the validity of the data in fields and records during a commit. Validity check are uniqueness, consistency and db restrictions.

Posting
Posting is an event that writes Inserts, Updates & Deletes in the forms to the database but not committing these transactions to the database.

Rollback
Rollback causes work in the current transaction to be undone.

Savepoint
Savepoint is a point within a particular transaction to which you may rollback without rolling back the entire transaction.

Set Transaction
Set Transaction is to establish properties for the current transaction.

Locking
Locking are mechanisms intended to prevent destructive interaction between users accessing data. Locks are used to achieve.

Consistency
Consistency : Assures users that the data they are changing or viewing is not changed until the are thro’ with it.

Integrity
Assures database data and structures reflects all changes made to them in the correct sequence. Locks ensure data integrity and maximum concurrent access to data. Commit statement releases all locks. Types of locks are given below.
Data Locks protects data i.e. Table or Row lock.
Dictionary Locks protects the structure of database object i.e. ensures table’s structure does not change for the duration of the transaction.
Internal Locks & Latches protects the internal database structures. They are automatic.
Exclusive Lock allows queries on locked table but no other activity is allowed.
Share Lock allows concurrent queries but prohibits updates to the locked tables.
Row Share allows concurrent access to the locked table but prohibits for a exclusive table lock.
Row Exclusive same as Row Share but prohibits locking in shared mode.
Shared Row Exclusive locks the whole table and allows users to look at rows in the table but prohibit others from locking the table in share or updating them.
Share Update are synonymous with Row Share.

Deadlock
Deadlock is a unique situation in a multi user system that causes two or more users to wait indefinitely for a locked resource. First user needs a resource locked by the second user and the second user needs a resource locked by the first user. To avoid dead locks, avoid using exclusive table lock and if using, use it in the same sequence and use Commit frequently to release locks.

Mutating Table
Mutating Table is a table that is currently being modified by an Insert, Update or Delete statement. Constraining Table is a table that a triggering statement might need to read either directly for a SQL statement or indirectly for a declarative Referential Integrity constraints. Pseudo Columns behaves like a column in a table but are not actually stored in the table. E.g. Currval, Nextval, Rowid, Rownum, Level etc.

SQL*Loader
SQL*Loader is a product for moving data in external files into tables in an Oracle database. To load data from external files into an Oracle database, two types of input must be provided to SQL*Loader : the data itself and the control file. The control file describes the data to be loaded. It describes the Names and format of the data files, Specifications for loading data and the Data to be loaded (optional). Invoking the loader sqlload username/password controlfilename.

Share/Save/Bookmark