Mobile Communications

Mobile Communications Text Book-2nd Edition By JOCHEN SCHILLER

Ayala-The 8051 Microcontroller

MicroProcessor TextBook-Ayala-The 8051 Microcontroller

R.S.Agarwal Quantitative Aptitude

Download R.S.Agarwal Quantitative Aptitude as one single file or Chapter Wise :)

Let us C by yashwant kanetkar

"C" explained Excellently by Yashwant Kanetkar. Read it online or Download :)

Puzzles to Puzzle you by Shakuntala Devi

Read Solutions side-by-side with Shakuntala Devi Puzzles to avoid that annoying scrolling for every puzzle to check the answer ;)

Saturday 1 December 2012

Puzzles and Answers for Interviews

Puzzles and Answers with detailed explanation for Interviews
Puzzles and Answers for Interview

Thursday 15 November 2012

Mobile Communications Text Book

Mobile Communications-2nd Edition By JOCHEN SCHILLER



Let us C by yashwant kanetkar

Puzzles To Puzzle You shakuntala devi solutions

If  in case you want to view answers side-by-side with Shakuntala Devi puzzles and to avoid that annoying scrolling for every puzzle to check the answer :)
Here is the Solutions file :)



Wednesday 14 November 2012

Data structures and Algorithms by Aho,D.Ullman,Hopcroft

Data Structures and Algorithms
Alfred V. Aho, Bell Laboratories, Murray Hill, New Jersey .John E. Hopcroft, Cornell University, Ithaca, New York Jeffrey D. Ullman, Stanford University, Stanford, California

Ayala-The 8051 Microcontroller

                                   MicroProcessor TextBook-Ayala-The 8051 Microcontroller



Monday 12 November 2012

Gate Question Papers

CS-GATE-2012


GATE-CS question papers from 1991-2012
Download GATE-CS question papers from 1991-2012 

Sunday 11 November 2012

RTS Important Questions

Real Time Systems important questions for External

LAQ:
1. Explain in detail, characteristics of RTS.
2. Define PCP, & explain different types of priority inversions under PCP.
3. Explain, in detail, Unix based real time OS.
4. Write about Scheduling mechanisms on internet.
5. Explain the concurrency control protocols in RTS.
6. Write short notes on
a. RMA.
b. Soft real time systems.
7. Write short notes on
a. Difference between static and dynamic task allocation algorithms.
b. RETHER.
8. Explain with diagram a basic model of RTS.
9. Explain with diagram & give example for clock driven scheduling.
10. Define clock synchronization & explain Centralized clock synchronization with example.
11. Explain hard real time communication in LAN.
12. Explain with example an concurrency control in real time databases.
13. Write short notes on
a. RMA.
b. POSIX.
14. Write short notes on
a. Buddy algorithm.
b. RSVP.
SAQ:
1. List applications of RTS.
2. Safety and reliability in real time environment.
3. Different types of real time tasks.
4. Imp features of PCP.
5. Status table and system load table.
6. One shot timer.
7. QOS framework.
8. Different types of traffic categorization in real time
communication.
9. Define real time database.
10. Define 2PL & Strict 2PL.

Software Engineering Text Book

                    Software Engineering Practitioners Approach by ROGER S. PRESSMAN

Thursday 8 November 2012

CN Previous Question Papers

Computer Networks Previous Question Papers

CN+Previous+q+Papers

MSI Previous Question papers

Microprocessor Previous Question Papers

MSI+Previous+q+Papers

DBMS Previous Question papers

Database Management System Question Papers
DBMS+Previous+Year+q+Papers

Sunday 4 November 2012

OOSD Textbook

                   The Essential Guide to User Interface Design, 3rd Edition by Wilbert O. Galitz

essential-guide-user-interface-design

Problem Solutions

Problem Solutions for Distributed Systems Principles and Paradigms,second edition by Andrew S Tenenbaum

Distributed Systems Text Book

Distributed Systems-Principles and paradigms 2nd edition by Andrew S Tenenbaum

Distributed Systems


Monday 22 October 2012

CN record

Here is the Computer Networks Record.

Cn Full Output

Tuesday 16 October 2012

CC Record

Compiler Construction Record

Compiler Construction

Monday 15 October 2012

ES Record

Embedded Systems Complete Record

Index
es index

Record

ES RECORD

DS Record

Distributed Systems Record

Ds Complete

Wednesday 26 September 2012

DBMS viva questions with answers

Here are the DBMS viva questions with short answers included for quick learning...

Dbms+Forms Complete Questions

Saturday 15 September 2012

Creating batch file to execute your jar file

After you are done with your project you want it to put online i.e. you want to publish your software which you made to make sure it is used by some end users and believe me, its a good thought and the project developer will have a different feeling :) .For that you would like to create a set up for your software. There are many softwares available in market which allow you to create set up of your project from your .jar file. But most of it will not work accordingly or understanding it is a bit difficult task.
I will provide a step-by-step solution for creating a set up for your project in my next post in this category.
For now we will learn how to create a batch file to execute your executable jar file on one click.

Here is an example:

set classpath=D:\dist\lib\swt-3.7M5-win32-win32-x86.jar;
java -jar D:\dist\AcmeReader.jar
pause


1.In the first line you have to set the classpath to all the dependent .jar files separated with semicolon.
2.The second line executes the main .jar file of your project.
3.The third line makes your command prompt to pause so that you can see the output or errors if any which will be displayed on command prompt.

thats it...save it with "filename.bat" .Remember the .bat extension.
U r done :)
Double Click the .bat file to execute your .jar file from here.
Enjoy!! :)

Any queries regarding setting up the classpath or other doubts and comments are always welcome :) :)

Template and Guidelines for preparing the Project Report

After you are done with your project the cumbersome job is to make project report.We really dont know what to include in our project report and what not to.we even stress our mind for the order of titles in the project report.
Here is the Template and Guidelines for preparing your final year Project Report.

Guidelines

DBMS by Ramakrishnan

I know we all have that greed to expect all the chapters of our syllubus to find in one Text Book.But surely we are not gonna find it!!

As far as OU syllubus is concerned one text book will not suffice for a subject.The same case goes with Database Management Systems.The other prescribed book will be Ramakrishnan,and here is the book for you without wasting your time searching for the e-book.
Here you go :)

Dbms by Raghu Ramakrishnan

UML in an hour

Admit it!!!!!we all do this everytime!! ;)
Everytime we start reading a new topic, after we are done with 3-4 lines we turn pages to see where the topic ends :D

Because of our busy schedules of hanging out with friends and facebooking , we dont find much time to read the whole topic going line-by-line.So, we need to find a better way to learn subjects in less time and with little effort B:)

Its not easy to revise or understand all the topics within a short span of time.Reading the whole theory part of the topic is really boring and tiresome job and most of us skip it without reading.
Here is a presentation in which all the UML Diagrams are described without boring stories in it.In this presentation you can find all the UML diagrams descriptions and understand it easily at a glance :)

Bell - UML in an hour


A little more detailed explanation of UML concepts file will be provided on request!!

Friday 14 September 2012

Data Mining Record

Here is the Data Mining Record which contains all the programs required in Lab with description

DM Record

Thursday 13 September 2012

Compiler Construction Viva notes

Viva voice notes

Subject : Compilers Construction

Translator
A program that accepts text expressed in one language and generates semantically equivalent text expressed in another language.
source language
The input language of a translator.
target language
The output language of a translator.
assembler
A translator from an assembly language to the corresponding machine language.
compiler
A translator from a high level language to a low level language.
high-level translator
A translator from one high-level language to another.
disassembler
A translator from machine language to assembler language.
decompiler
A translater from a low level language to a high level language.
source program
The input text of an assembler or compiler.
object program
The output text of an assembler or compiler.
implementation language
The language in which a program is expressed.
tombstone diagram
A graphical representation of the overall function of a system.
cross compiler
A compiler which generates code for a machine different from the machine on which it is run.
Portable program
A program which can be (compiled and) run on any machine.

interpretive compiler
A program which combines a compiler that produces object code in an intermediate language with an interpreter for that intermediate language.

What is a compiler

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).

Difference between compilers & interpreters.
A compiler first takes in the entire program, checks for errors, compiles it and then executes it. Whereas, an interpreter does this line by line, so it takes one line, checks it for errors and then executes it.

Eg of Compiler - C
Eg of Interpreter – PHP
Language processor.
a parser which parses a particular language are called language processors
Symbol table.
a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is associated with information relating to its declaration or appearance in the source, such as its type,scope level and sometimes its location.

Explain Different Phases Of A Compiler With An Example
1. Lexical analysis
This is the initial part of reading and analysing the program text: The text is read and divided into tokens , each of which corresponds toa symbol in the programming language,
e.g. , a variable name, keyword or number.
2. Syntax analysis
This phase takes the list of tokens produced by the lexical analysis and arranges these in a tree-structure (called the syntax tree ) that reflects the structure of the program. This phase is often called parsing

3. Semantic analysis - checks for errors.

4. Intermediate Code generation - generates machine code.

5. Code optimization (Machine independent)- looks for ways to make code smaller and more efficient.

6. Code Generator

7. Target program (machine dependent)- creates the output ( .exe, .com, .dll, etc.).

Risc
Basically, RISC CPU's ( eg: ARM processer...) contain an instruction set where every instruction and operand is of the exact same length. This makes the CPU design much simpler since every instruction an operand fits in the pipeline with no wasted cycles
CISC
CISC CPU's (x86, 8051, etc...) contain complex, variable length instruction sets and operands. While having complex variable length instructions make low level programming much easier, it comes at the price of greatly increasing the complexity of the CPU and reducing efficiency.
Application of compiler technology.
pattern recognition systems.
diagram recognition and diagram-processing tasks by use of grammars

Lexical Analyzer
lexical analysis is the process of converting a sequence of characters into a sequence of tokens. A program or function which performs lexical analysis is called a lexical analyzer, lexer or scanner.

Tokens, Patterns, Lexemes
A lexical token is a sequence of characters that can be treated as a unit in the grammar of the programming languages.
Example of tokens:
• Type token (id, num, real, . . . )
Patterns
There is a set of strings in the input for which the same token is produced as output. This set of strings is described by a rule called a pattern associated with the token.
Regular expressions are an important notation for specifying patterns.
For example, the pattern for the Pascal identifier token, id, is: id → letter (letter | digit)*.
Lexeme
A lexeme is a sequence of characters in the source program that is matched by the pattern for a token.
For example, ( =, , <, , >=)

Regular Expressions
1. The regular expressions over alphabet specifies a language according to the following rules. is a regular expression that denotes { }, that is, the set containing the empty string.
Regular Definitions
A regular definition gives names to certain regular expressions and uses those names in other regular expressions.
Deterministic Finite Automata (DFA)
A deterministic finite automation is a special case of a non-deterministic finite automation (NFA) in which
1. no state has an -transition
2. for each state s and input symbol a, there is at most one edge labeled a leaving s.
Nondeterministic Finite Automata (NFA)
A nondeterministic finite automation is a mathematical model consists of
1. a set of states S;
2. a set of input symbol, ∑, called the input symbols alphabet.
3. a transition function move that maps state-symbol pairs to sets of states.
4. a state so called the initial or the start state.
5. a set of states F called the accepting or final state.
Synthesized Attributes:
An attribute is synthesized if its value at a parent node can be determined from attributes of its children.

Syntax-Directed Definitions:
• A syntax-directed definition uses a CFG to specify the syntatic structure of the input.
• A syntax-directed definition associates a set of attributes with each grammar symbol.
• A syntax-directed definition associates a set of semantic rules with each production rule.

Parsing
Parsing is the process of determining if a string of tokens can be generated by a grammar. A parser must be capable of constructing the tree, or else the translation cannot be guaranteed correct. For any language that can be described by CFG, the parsing requires O(n3) time to parse string of n token. However, most programming languages are so simple that a parser requires just O(n) time with a single left-to-right scan over the iput string of n tokens.
There are two types of Parsing
1. Top-down Parsing (start from start symbol and derive string)
A Top-down parser builds a parse tree by starting at the root and working down towards the leaves.
o Easy to generate by hand.
o Examples are : Recursive-descent, Predictive.
2. Bottom-up Parsing (start from string and reduce to start symbol)
A bottom-up parser builds a parser tree by starting at the leaves and working up towards the root.
o Not easy to handle by hands, usually compiler-generating software generate bottom up parser
o But handles larger class of grammar
o Example is LR parser.

Pridictive Parsing:
Recursive-descent parsing is a top-down method of syntax analysis that executes a set of recursive procedure to process the input. A procedure is associated with each nonterminal of a grammar.
A predictive parsing is a special form of recursive-descent parsing, in which the current input token unambiguously determines the production to be applied at each step.

Left Recursion:
The production is left-recursive if the leftmost symbol on the right side is the same as the non terminal on the left side. For example,
expr → expr + term.

Issues in the Design of Code generator
Code generator concern with:
1. Memory management.
2. Instruction Selection.
3. Register Utilization (Allocation).
4. Evaluation order.

What is lex
Lex is a computer program that generates lexical analyzers ("scanners" or "lexers").
Lex is commonly used with the yacc parser generator.

Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language.
Lexical error:
A lexical error is any input that can be rejected by the lexer. This generally results from token recognition falling off the end of the rules you've defined.

Types of parsers
Top-down parsers
_ start at the root of derivation tree and _ll in
_ picks a production and tries to match the input
_ may require backtracking
_ some grammars are backtrack-free (predictive)

Eg: recursive descent, LL

Bottom-up parsers
_ start at the leaves and _ll in
_ start in a state valid for legal _rst tokens
_ as input is consumed, change state to encode possibilities
(recognize valid pre_xes)
_ use a stack to store both state and sentential forms

Eg: LR, CYK (look ahead) parser , slr, lalr

What does LL and LR mean
LL(1) means – first ‘L’ represents scanning input from left to right. Second ‘L’ represents producing leftmost derivation. (1) one input symbol of lookahead at each step.
LR(k) means – ‘L’ Left to right scanning, R-rightmost derivation in reverse. K-0 or 1 no. of i/p symbols.

Loaders:
A loader is a system program, which takes the object code of a program as input and prepares it for execution.
• The loader performs the following functions :

• Allocation - The loader determines and allocates the required memory space for the program to execute properly.

• Linking -- The loader analyses and resolve the symbolic references made in the object modules.

• Relocation - The loader maps and relocates the address references to correspond to the newly allocated memory space during execution.

• Loading - The loader actually loads the machine code corresponding to the object modules into the allocated memory space and makes the program ready to execute.

Compile-and-Go Loaders:

• A compile and go loader is one in which the assembler itself does the processes of compiling then place the assembled instruction inthe designated memory loactions.

Absolute Loader

The assembler generates the object code equivalent of the source program bu the output is punched on to the cads forming the object decks instead of loading in memory.
Relocation loader

Loaders that allow for program relocation are called relocating loaders/relative loaders.
Linkage Editors

A linkage editor produces a linked version for the program called an executable image, which is written to a file for later execution.

Dynamic Linking

Dynamic linking allows an object module to include only the information that is require at load time to execute a program.

There are two types of dynamic linking, they are Load time dynamic linking and Run time dynamic linking.
Code Generation
code generation is the process by which a compiler's code generator converts some internal representation of source code into a form (e.g., machine code) that can be readily executed by a machine

code optimization
Code optimization is the process of modifying the code to make some aspect of software or hardware work more efficiently or use fewer resources or reduce compilation time or use memory efficiently etc

CFG is a grammar which naturally generates a formal language in which clauses can be nested inside clauses arbitrarily deeply, but where grammatical structures are not allowed to overlap

SQL data file

Often u get a thought in your mind to practice dbms programs at home and want to work with different sql queries to see the different outputs so that you can excel in the subject, but you dont find the desired table data to include in your sql plus.Even if you create tables using CREATE TABLE query then to work on it to see different possibilities, you need to insert large amount of data in the table which is tiresome task.
Here is the solution with all the tables and the data included which i am providing for you all, which will help you for the same.

--
-- Copyright (c) Oracle Corporation 1988, 2000. All Rights Reserved.
--
-- NAME
-- demo.sql
--
-- DESCRIPTION
-- This script creates the SQL*Plus demonstration tables in the
-- current schema. It should be STARTed by each user wishing to
-- access the tables. To remove the tables use the demodrop.sql
-- script.
--
-- USAGE
-- From within SQL*Plus, enter:
-- START demo.sql

SET TERMOUT ON
PROMPT Building demonstration tables. Please wait.
SET TERMOUT OFF

DROP TABLE EMP1;
DROP TABLE DEPT;
DROP TABLE BONUS;
DROP TABLE SALGRADE;
DROP TABLE DUMMY;

CREATE TABLE EMP1
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(2));

INSERT INTO EMP1 VALUES
(7369, 'SMITH', 'CLERK', 7902,
TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
INSERT INTO EMP1 VALUES
(7499, 'ALLEN', 'SALESMAN', 7698,
TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
INSERT INTO EMP1 VALUES
(7521, 'WARD', 'SALESMAN', 7698,
TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
INSERT INTO EMP1 VALUES
(7566, 'JONES', 'MANAGER', 7839,
TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);
INSERT INTO EMP1 VALUES
(7654, 'MARTIN', 'SALESMAN', 7698,
TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);
INSERT INTO EMP1 VALUES
(7698, 'BLAKE', 'MANAGER', 7839,
TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);
INSERT INTO EMP1 VALUES
(7782, 'CLARK', 'MANAGER', 7839,
TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);
INSERT INTO EMP1 VALUES
(7788, 'SCOTT', 'ANALYST', 7566,
TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP1 VALUES
(7839, 'KING', 'PRESIDENT', NULL,
TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);
INSERT INTO EMP1 VALUES
(7844, 'TURNER', 'SALESMAN', 7698,
TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);
INSERT INTO EMP1 VALUES
(7876, 'ADAMS', 'CLERK', 7788,
TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);
INSERT INTO EMP1 VALUES
(7900, 'JAMES', 'CLERK', 7698,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);
INSERT INTO EMP1 VALUES
(7902, 'FORD', 'ANALYST', 7566,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);
INSERT INTO EMP1 VALUES
(7934, 'MILLER', 'CLERK', 7782,
TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);

CREATE TABLE DEPT
(DEPTNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13) );

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE BONUS
(ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER,
COMM NUMBER);

CREATE TABLE SALGRADE
(GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER);

INSERT INTO SALGRADE VALUES (1, 700, 1200);
INSERT INTO SALGRADE VALUES (2, 1201, 1400);
INSERT INTO SALGRADE VALUES (3, 1401, 2000);
INSERT INTO SALGRADE VALUES (4, 2001, 3000);
INSERT INTO SALGRADE VALUES (5, 3001, 9999);

CREATE TABLE DUMMY
(DUMMY NUMBER);

INSERT INTO DUMMY VALUES (0);

COMMIT;

SET TERMOUT ON
PROMPT Demonstration table build is complete.

EXIT



Just copy paste the above code in your notepad file and save it as "demo.sql" .Remember it should end with .sql extension.
After saving it with .sql extension....all you have to do is go to that file location through sql prompt or paste the file in the "BIN" folder of your installed directory and type "START demo.sql" (without quotes) in SQL PLUS prompt.
Thats it!!!All the tables along with the data will be inserted in your database.Enjoy!! :)

Queries(doubts) and Comments are always welcome :)

SQL Descriptions

*. DESCRIPTIONS::

a.DDL[Data Definition Language]:These statements are used to define the database structure or schema.
Examples:

* CREATE - to create objects in the database
syntax: CREATE TABLE
(,...);

* ALTER - alters the structure of the database
syntax: ALTER TABLE
ADD/MODIFY (,...);

* DROP - delete objects from the database
syntax: DROP TABLE
;

* TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
syntax: TRUNCATE TABLE
;

* RENAME - rename an object
syntax: RENAME
TO ;

DML[Data Manipulation Language]:These statements are used for managing data within schema objects.
Examples:

* INSERT - insert data into a table
syntax: INSERT into
values(,colname>,...);

* UPDATE - updates existing data within a table
syntax: UPDATE
SET col=value[col n1,...] WHERE(condition);

* DELETE - deletes all records from a table, the space for the records remain
syntax: DELETE from
WHERE ;

DRL[Data Retrieving Language]:These statements are used for retrieving the data from the database.
Examples:

* SELECT - retrives the selected data from the table
syntax: SELECT(distinct/all(*)) from
WHERE(condition);

DCL [Data Control Language]:These statements controls the privileges provided to the user in the database.
Examples:

* GRANT - gives user's access privileges to database
syntax: GRANT ALL/privilege names( ON
TO );

* REVOKE - withdraw access privileges given with the GRANT command
syntax: REVOKE ALL/privilege names( ON
from );


TCL[Transaction Control]:These statements are used to manage the changes made by DML statements.
It allows statements to be grouped together into logical transactions.
Examples:

* COMMIT - save work done
syntax: COMMIT;

* SAVEPOINT - identify a point in a transaction to which you can later roll back
syntax: SAVEPOINT s1;

* ROLLBACK - restore database to original since the last COMMIT
syntax: ROLLBACK s1;

*. BUILT-IN FUNCTIONS:
CHARACTER FUNCTIONS:

1.LOWER : Converts given string into lower-case.
syntax : SELECT lower() from
;

2.UPPER : Converts given string into upper-case.
syntax : SELECT upper() from
;

3.INITCAP: This functions prints the initial letter as upper-case letter.
syntax : SELECT INITCAP() from
;

4.CONCAT : Combines two strings using the symbol '||'.
syntax : SELECT ,CONCAT('name is',) from
;

5.LPAD/RPAD: padding of the string is done with the given symbol
syntax : SELECT LPAD('',,'');

: SELECT RPAD('',,'');

6.SUBSTR : Selects substring from a given string.
syntax : SELECT substr(,,) from DUAL;

7.INSTR : Used to find the position of a string in a given string.
syntax : SELECT INSTR(','');

8.LTRIM/RTRIM: Trims the string with the given characters.
syntax : LTRIM(,);
: RTRIM(,);

9.LENGTH : Defines number of characters in a given string or column.
syntax : SELECT LENGTH(<string.) as length from
;

10.TRANSLATE : Translates given string character by character.
syntax : SELECT TRANSLATE('','','');

11.REPLACE : Translate given string word by word.
syntax : SELECT REPLACE('','','');

* Types of Group Functions
->AVG
->COUNT
->MAX
->MIN
->STDDEV
->SUM
->VARIANCE

-> AVG and SUM for numeric data.
SQL> SELECT AVG(SAL),SUM(SAL) from ;
-> MIN and MAX for any datatype.
SQL> SELECT MIN(hiredate), MAX(hiredate) from ;
-> COUNT(*) returns the number of rows in a table.
SQL> SELECT COUNT(*) FROM emp WHERE deptno = 30;
-> COUNT(expr) returns the number of nonnull rows.
SQL> SELECT COUNT(comm) FROM emp WHERE deptno=30;

->The NVL function forces group functions to include null values.
SQL> SELECT AVG(NVL(comm,0)) FROM emp;

Creating Groups of Data: GROUP BY Clause:
SQL> SELECT column,
2 group_function(column)
3 FROM table[WHEREcondition]
4 [GROUP BYgroup_by_expression]
5 [ORDER BYcolumn];

->Divide rows in a table into smaller groups by using the GROUP BY clause.
->All columns in the SELECT list that are not in group functions must be in the GROUP BY clause.
->Any column or expression in the SELECT list that is not an aggregate function must be in the GROUP BY.
->Cannot use the WHERE clause to restrict groups.
->Use the HAVING clause to restrict groups.

HAVING CLAUSE:
->Use the HAVING clause to restrict groups
►Rows are grouped.
►The group function is applied.
►Groups matching the HAVING clause are displayed.
SQL> SELECT column,group_function
2 FROM table[WHEREcondition]
3 [GROUP BYgroup_by_expression]
4 [HAVINGgroup_condition]
5 [ORDER BYcolumn];

Types of Subqueries:
->Single-Row Subqueries
->Multiple-Row Subqueries
Operator Meaning
IN Equal to any member in the list
ANY Compare value to each value returned by the subquery
ALL Compare value to every value returned by the subquery
->Multiple-Column Subqueries

CONSTRAINTS:
->Constraints enforce rules at the table level.
->Constraints prevent the deletion of a table if there are dependencies.
->The following constraint types are valid in Oracle:
►NOT NULL
►UNIQUE
►PRIMARY KEY
►FOREIGN KEY
►CHECK
DEFINING CONSTRAINTS:
SQL>CREATE TABLE [schema.]table
2 (column datatype
3 [DEFAULT expr]
4 [column_constraint],...[table_constraint][,...]);
->NOT NULL constraint:
►Ensures that null values are not permitted for the column.
SQL> CREATE TABLE emp1(
2 empno NUMBER(4),
3 enameVARCHAR2(10) NOT NULL);
->UNIQUE KEY constraint:
►Defined at either the table level or the column level.
SQL> CREATE TABLE dept(
2 deptno NUMBER(2),
3 dname VARCHAR2(14),
4 loc VARCHAR2(13),
5 CONSTRAINT dept_dname_uk UNIQUE(dname));
->PRIMARY KEY constraint:
levelSQL> CREATE TABLE dept(
2 deptno NUMBER(2),
3 dname VARCHAR2(14),
4 loc VARCHAR2(13),
5 CONSTRAINT dept_dname_uk UNIQUE (dname),
6 CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));
->FOREIGN KEY constraint:
FOREIGN KEY
Defines the column in the child table at the table constraint level.
REFERENCES
Identifies the table and column in the parent table.
ON DELETE CASCADE
Allows deletion in the parent table and deletion of the dependent rows in the child table.
->CHECK constraint:
Defines a condition that each row must satisfy
Expressions that are not allowed:
►References to CURRVAL, NEXTVAL, LEVEL, and ROWNUM pseudocolumns
►Calls to SYSDATE, UID, USER, and USERENV functions
►Queries that refer to other values in other rows.

VIEWING constraints:
SQL> SELECT constraint_name, constraint_type,
2 search_condition
3 FROM user_constraints
4 WHERE table_name = 'EMP';

VIEW: Logically represents subsets of data from one or more tables
CREATING a view:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]];
->Modify the EMPVU10 view by using CREATE OR REPLACE VIEW clause.
REMOVE view:
SQL>DROP VIEW view;

SEQUENCE: Generates primary key values.
CREATE SEQUENCE sequence
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n| NOMAXVALUE}]
[{MINVALUE n| NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n| NOCACHE}];
->NEXTVAL returns the next available sequence value.
It returns a unique value every time it is referenced, even for different users.
CURRVAL obtains the current sequence value.
NEXTVAL must be issued for that sequence before CURRVAL contains a value.

INDEX: schema object
CREATE INDEX index ON table(column[, column]...);

SYNONYM: Alternative name for an object.
CREATE [PUBLIC] SYNONYM synonym FOR object;

PL/SQL is an extension to SQL with design features of programming languages.
DECLARE –Optional
–Variables, cursors, user-defined exceptions
•BEGIN –Mandatory
–SQL statements
–PL/SQL statements
•EXCEPTION –Optional
–Actions to perform when errors occur
•END; –Mandatory.

SQL Cursor: cursor is a private SQL work area.
There are two types of cursors:
►Implicit cursor ►Explicit cursors

Implicit cursor attributes verify the outcome of DML statements:
► SQL%ROWCOUNT ► SQL%FOUND
► SQL%NOTFOUND ► SQL%ISOPEN
Explicit cursors are defined by the programmer.

What is an exception?
►Identifier in PL/SQL that is raised during execution
Sample predefined exceptions:
►NO_DATA_FOUND
►TOO_MANY_ROWS ►INVALID_CURSOR
►ZERO_DIVIDE ►DUP_VAL_ON_INDEX.
Packages: Group logically related PL/SQL types,items and subgroups.
Consists of 2 types: -Specification.
-Body.

OOSD External Questions with Answers

Here are the Questions which will be asked in OOSD External lab exam...I am providing these questions separately so that u can practice those questions without having a look at answers...coz once u see the answers u will realize that u know this and its simple and u wont put it on a paper....but i do appreciate practice ...so here are the questions posted separately :)

OOSD_LABexam

U can view the answers for these questions from here :)

Oosd Lab 30 Ques-Ans

OOSD Lab Manual

Here is the lab manual of OOSD which contains introduction to all concepts of UML with Diagrams descriptions..


OOSD Lab Manual