You are on page 1of 40

=>DATABASE :

IT CAN BE DEFINED AS A COLLECTION OF COHERENT, MEANINGFUL DATA THE PHRASE


COLLECTION OF COHERENT DATA NEEDS TO HAVE A POINT OF REFRENCE TO BE UNDERSTOOD .
IN OTHER WORDS WE CAN SAY THAT DATABASE IS A COLLECTION OF RELATED INFORMATION.

---------------------------------------------

=>DBMS(DATABASE MANAGEMENT SYSTEM)

TO BE ABLE TO SUCCESSFULLY DESIGN AND MAINTAIN DATABASES

1. IDENTIFY WHICH PART OF THE WORLD'S DATA IS INTREST TO US.

2. IDENTIFY WHAT SPECIFIC OBJECTS IN THAT PART OF THE WORLD'S DATA ARE OF
INTREST

3. INDENTIFY A RELATIONSHIPS BETWEEN THE OBJECTS.

SOFTWARE THAT HELPS TO MANAGING DATA IN SUCH A DATABASE. DBMS IS A SYSTEM THAT
ALLOWS INSERTING, UPDATING, DELETING, AND PROCESSING OF DATA.

---------------------------------------------

=> BENEFITS OF DBMS.

1. THE AMOUNT OF DATA REDUNDANCY IN STORED DATA CAN BE REDUCED.

2. NO MORE DATA INCONSISTENCIES

3. STORED DATA CAN BE SHARED BY A SINGLE OR MULTIPLE USERS.

4. STANDARDS CAN BE SET AND FOLLOWED.

5. DATA INTEGRITY CAN BE MAINTAINED. DATA INTEGRITY REFRES TO THE PROBLEMS OF


ENSURING THAT DATABASE CONTAINS ONLY ACCURATE DATA.

6. SECURITY OF DATA CAN BE SIMPLY IMPLEMENTED.

7. DATA INDEPENDENCY CAN BE ACHIEVED.

---------------------------------------------

=>FEATURES OF DBMS.

1. IN DBMS RELATIONSHIP BETWEEN TWO TABLES OR FILES ARE MAINTAINED


PROGRMMATICALLY.

2. IT DOESN'T SUPPORT CLIENT/SERVER ARCHITECTURE.

3. ITS DOESN'T SUPPORT DISTRIBUTED DATABASES.

4. IN DBMS THERE IS NO ADVANCE SECURITY OF DATA.

5. EACH TABLE IS GIVEN AN EXTENSION IN DBMS.

=====================================
=>RDBMS

RDBMS IS BASED RELATIONAL DATA MODELS AS INTRODUCED BY DR. EDGAR.F CODD. RDBMS
DEFINED AS STORES DATA IN THE FORM OF RELATED TABLES AND A SINGLE DATABASE CAN
BE SPREAD ACROSS SEVERAL TABLES.

MICROSOFT SQL, ORACLE, SQL SERVER, ETC.

---------------------------------------------

=>FEATURES OF RDBMS.

1. IN RDBMS RELATIONSHIP BETWEEN TWO TABLES OR FILES CAN BE SPECIFIED AT THE


TIME OF TABLE CREATION.

2. MOST OF THE RDBMS SUPPORT CLIENT/SERVER ARCHITECTURE.

3. MOST OF THE RDBMS SUPPORT DISTRIBUTED DATABASES.

4. IN RDBMS THERE ARE MULTIPLE LEVELS OF SECURITY OF DATA.

A. LOGGING IN AT O/S LEVEL.

B. COMMAND LEVEL (AT RDBMS LEVEL).

C. OBJECT LEVEL.

5. MANY TABLE ARE GROUPED IN ONE DATABASE IN RDBMS.

---------------------------------------------

RULES TO MAINTAIN ANY DATABASE.

1. THE INFORMATION RULE.

2. GUARANTEED ACCESS RULE.

3. SYSTEMATIC TREATMENT OF NULL VALUES.

4. DYNAMIC ON-LINE CATALOG BASED ON THE RELATIONAL MODEL.

5. COMPREHENSIVE DATA SUBLANGUAGE RULE.

6. VIEW UPDATING RULE.

7. HIGH-LEVEL, INSERT, UPDATE AND DELETE.

8. PHYSICAL DATA INDEPENDENCE.

9. LOGICAL DATA INDEPENDENCE.

10. INTEGRITY INDEPENDENCE.

11. DISTRIBUTED INDEPENDENCE.

12. NON SUBVERSION RULE..

---------------------------------------------

=>DBMS

FIELD,

RECORD,
FILE,

=> RDBMS

COLUMN, ATTRIBUTES,ENTITY.

ROW,TUPLE.

TABLE,RELATION,ENTITY CLASS.

--------------------------------------------

ATTRIBUTE:

SIMPLE AND COMPOSITE ATTRIBUTE

------------------------------

SIMPLE ATTRIBUTE THAT CONSIST OF A SINGLE ATOMIC VALUE. A COMPOSITE ATTRIBUTE IS


AN ATTRIBUTE THAT CAN BE FURTHER SUBDIVIDED. FOR EXAMPLE THE ATTRIBUTE ADDRESS
CAN BE SUBDIVIDED INTO STREET, CITY, STATE, AND ZIP CODE. A SIMPLE ATTRIBUTE
CANNOT BE SUBDIVIDED. FOR EXAMPLE THE ATTRIBUTES AGE, SEX ETC ARE SIMPLE
ATTRIBUTES.

SIMPLE ATTRIBUTE: ATTRIBUTE THAT CONSIST OF A SINGLE ATOMIC VALUE.

EXAMPLE: SALARY, AGE ETC

COMPOSITE ATTRIBUTE : ATTRIBUTE VALUE NOT ATOMIC.

EXAMPLE : ADDRESS : �HOUSE_NO:CITY:STATE

NAME : �FIRST NAME: MIDDLE NAME: LAST NAME�

---------------------------------------------

SINGLE VALUED AND MULTI VALUED ATTRIBUTE

-----------------------------------------

A SINGLE VALUED ATTRIBUTE CAN HAVE ONLY A SINGLE VALUE. FOR EXAMPLE A PERSON CAN
HAVE ONLY ONE 'DATE OF BIRTH', 'AGE' ETC. THAT IS A SINGLE VALUED ATTRIBUTES CAN
HAVE ONLY SINGLE VALUE. BUT IT CAN BE SIMPLE OR COMPOSITE ATTRIBUTE.THAT IS
'DATE OF BIRTH' IS A COMPOSITE ATTRIBUTE , 'AGE' IS A SIMPLE ATTRIBUTE. BUT BOTH
ARE SINGLE VALUED ATTRIBUTES.

MULTIVALUED ATTRIBUTES CAN HAVE MULTIPLE VALUES. FOR INSTANCE A PERSON MAY HAVE
MULTIPLE PHONE NUMBERS,MULTIPLE DEGREES ETC.MULTIVALUED ATTRIBUTES ARE SHOWN BY
A DOUBLE LINE CONNECTING TO THE ENTITY IN THE ER DIAGRAM.

SINGLE VALUED ATTRIBUTE: ATTRIBUTE THAT HOLD A SINGLE VALUE

EXAMPLE1: AGE

EXAMPE2: CITY

EXAMPLE3:CUSTOMER ID
MULTI VALUED ATTRIBUTE: ATTRIBUTE THAT HOLD MULTIPLE VALUES.

EXAMPLE1: A CUSTOMER CAN HAVE MULTIPLE PHONE NUMBERS, EMAIL ID'S ETC

EXAMPLE2: A PERSON MAY HAVE SEVERAL COLLEGE DEGREES

---------------------------------------------

STORED AND DERIVED ATTRIBUTES

---------------------------------------------

THE VALUE FOR THE DERIVED ATTRIBUTE IS DERIVED FROM THE STORED ATTRIBUTE. FOR
EXAMPLE 'DATE OF BIRTH' OF A PERSON IS A STORED ATTRIBUTE. THE VALUE FOR THE
ATTRIBUTE 'AGE' CAN BE DERIVED BY SUBTRACTING THE 'DATE OF BIRTH'(DOB) FROM THE
CURRENT DATE. STORED ATTRIBUTE SUPPLIES A VALUE TO THE RELATED ATTRIBUTE.

STORED ATTRIBUTE: AN ATTRIBUTE THAT SUPPLIES A VALUE TO THE RELATED ATTRIBUTE.

EXAMPLE: DATE OF BIRTH

DERIVED ATTRIBUTE: AN ATTRIBUTE THAT�S VALUE IS DERIVED FROM A STORED ATTRIBUTE.

EXAMPLE : AGE, AND IT�S VALUE IS DERIVED FROM THE STORED ATTRIBUTE DATE OF
BIRTH.

COMPLEX ATTRIBUTE

A COMPLEX ATTRIBUTE THAT IS BOTH COMPOSITE AND MULTI VALUED.

---------------------------------------------

KEY ATTRIBUTE:

THE ATTRIBUTE WHICH IS NORMALLY USED AS A PRIMARY KEY TO SEARCH THE SPECIFIC
DATA VALUE IN WHOLE ENTITY SET. IT IS REPRESENTED BY SIMPLE ATTRIBUTE SYMBOL
WITH UNDERLINE THE ATTRIBUTE NAME.

---------------------------------------------

ENTITY TYPES

---------------------------------------------

THE ER MODEL CONSISTS OF DIFFERENT TYPES OF ENTITIES. THE EXISTENCE OF AN ENTITY


MAY DEPENDS ON THE EXISTENCE OF ONE OR MORE OTHER ENTITIES, SUCH AN ENTITY IS
SAID TO BE EXISTENCE DEPENDENT. ENTITIES WHOSE EXISTENCE NOT DEPENDING ON ANY
OTHER ENTITIES IS TERMED AS NOT EXISTENCE DEPENDENT. ENTITIES BASED ON THEIR
CHARACTERISTICS ARE CLASSIFIED AS FOLLOWS.

� STRONG ENTITIES

� WEAK ENTITIES

� RECURSIVE ENTITIES

� COMPOSITE ENTITIES

---------------------------------------------

STRONG ENTITY VS WEAK ENTITY


---------------------------------------------

AN ENTITY SET THAT DOES NOT HAVE SUFFICIENT ATTRIBUTES TO FORM A PRIMARY KEY IS
TERMED AS A WEAK ENTITY SET. AN ENTITY SET THAT HAS A PRIMARY KEY IS TERMED AS
STRONG ENTITY SET.

A WEAK ENTITY IS EXISTENCE DEPENDENT. THAT IS THE EXISTENCE OF A WEAK ENTITY


DEPENDS ON THE EXISTENCE OF A IDENTIFYING ENTITY SET. THE DISCRIMINATOR (OR
PARTIAL KEY) IS USED TO IDENTIFY OTHER ATTRIBUTES OF A WEAK ENTITY SET.THE
PRIMARY KEY OF A WEAK ENTITY SET IS FORMED BY PRIMARY KEY OF IDENTIFYING ENTITY
SET AND THE DISCRIMINATOR OF WEAK ENTITY SET. THE EXISTENCE OF A WEAK ENTITY IS
INDICATED BY A DOUBLE RECTANGLE IN THE ER DIAGRAM. WE UNDERLINE THE
DISCRIMINATOR OF A WEAK ENTITY SET WITH A DASHED LINE IN THE ER DIAGRAM.

==>RECURSIVE ENTITY

A RECURSIVE ENTITY IS ONE IN WHICH A RELATION CAN EXIST BETWEEN OCCURRENCES OF


THE SAME ENTITY SET. THIS OCCURS IN A UNARY RELATIONSHIP.

==>COMPOSITE ENTITIES

IF A MANY TO MANY RELATIONSHIP EXIST WE MUST CREATE A BRIDGE ENTITY TO CONVERT


IT INTO 1 TO MANY. BRIDGE ENTITY COMPOSED OF THE PRIMARY KEYS OF EACH OF THE
ENTITIES TO BE CONNECTED. THE BRIDGE ENTITY IS KNOWN AS A COMPOSITE ENTITY. A
COMPOSITE ENTITY IS REPRESENTED BY A DIAMOND SHAPE WITH IN A RECTANGLE IN AN ER
DIAGRAM.

=============================================

=> DATA CONSTRAINTS.

DATA CONSTRAINTS IS TECHNIQUE TO SET THE RULES THAT MUST BE APPLIED TO THEIR
DATA PRIOR TO IT BEING STORED IN THE DATABASE/TABLES TO ENSURE ITS INTEGRITY.ITS
CHECKS DATA FOR INTEGRITY PRIOR STORAGE.

---------------------------------------------

TYPES OF DATA CONSTRAINTS.

1. I/O CONSTRAINTS.

THE INPUT/OUTPUT DATA CONSTRAINTS IS TO BE SET WHEN DATA IS INSERT INTO


DATABASE/TABLES. THAT ARE FURTHER DIVIDED INTO TWO DISTINCLTLY DIFFERENT
CONSTRAINTS.

--------------------------------------------

A. PRIMARY KEY : A PRIMARY KEY IS ONE OR MORE COLUMNS IN A TABLE USED TO


UNIQUELY IDENTIFY EACH ROW IN THE TABLE . NONE OF THE FIELDS THAT ARE PART OF
THE PRIMARY KEY CAN CONTAIN A NULL VALUE.

I. IT DEFINES THE COLUMN AS A MANDATORY COLUMN. AS THE NOT NULL ATTRIBUTE


IS ACTIVE.
II. THE DATA HELD ACROSS THE COLUMN MUST BE UNIQUE.

UNIQUE,CHECK,NOT NULL

---------------------------------------------

=>FEATURES OF PRIMARY KEY.

1. PRIMARY KEY IS A COLUMN OR A SET OF COLUMN THAT UNIQUELY IDENTIFY A ROW. ITS
MAIN PURPOSE IS THE RECORD UNIQUENESS.

2. PRIMARY KEY WILL NOT ALLOW DUPLICATE VALUES.

3. PRIMARY KEY WILL ALSO NOT ALLOW NULL VALUES.

4. PRIMARY KEY IS NOT COMPULSORY BUT IT IS RECOMMENDED.

5. PRIMARY KEY HELPS TO IDENTIFY ONE RECORD FROM ANOTHER RECORD AND ALSO HELPS
IN RELATING TABLES WITH ONE ANOTHER.

6. PRIMARY KEY CANNOT BE LONG OR LONG RAW DATA TYPE.

7. ONLY ONE PRIMARY KEY IS ALLOWED PER TABLE.

8. UNIQUE INDEX IS CREATED AUTOMATICALLY IF THERE IS A PRIMARY KEY.

9. ONE TABLE CAN COMBINE UPTO 16 COLUMNS IN A COMPOSITE PRIMARY KEY.

---------------------------------------------

B. FOREIGN KEY: ITS REPRESENT RELATIONSHIP BETWEEN TABLES. A FOREIGN KEY IS A


COLUMN (OR A GROUP OF COLUMNS ) WHOSE VALUES ARE DERIVED FROM THE PRIMARY KEY OR
UNIQUE KEY OF SOME OTHER TABLES.

I. RECORDS CANNOT BE INSERTED INTO A DETAIL TABLE IF CORRESPONFING RECORDS


IN THE MASTER TABLE DO NOT EXIST.

II. RECORDS OF THE MASTER TABLE CANNOT BE DELETED IF CORRESPONDING RECORDS


IN THE TABLE ACTUALLY EXIST.

---------------------------------------------

=>FEATURES OF FOREIGN KEY.

1. FOREIGN KEY IS A COLUMN THAT REFRENCES A COLUMNS OF A TABLE AND IT CAN BE THE
SAME TABLE ALSO.

2. PARENT THAT IS BEING REFERENCED HAS TO BE UNIQUE OR PRIMARY KEY.

3. CHILD MAY HAVE DUPLICATES AND NULLS BUT UNLESS IT IS SPECIFIED.

4. FOREIGN KEY CONSTRAINT CAN BE SPECIFIED ON CHILD BUT NOT ON PARENT .

5. PARENT RECORD CAN BE DELETE PROVIDED NO CHILD RECORD EXIST.

6. MASTER TABLE CANNOT BE UPDATED IF CHILD RECORD EXIST.

=============================================
=> NORMALIZATION.

NORMALIZATION IS A PROCESS THAT HELPS ANALYSTS OR DATABASE DESIGNERS TO DESIGN


TABLE STRUCTURE FOR AN APPLICATION. BY NORMALIZATION PROCESS WE CAN REDUCE
REDUNDANT TABLE DATA TO VERY MINIMUM.

---------------------------------------------

=>NORMALIZATION IS CARRIED OUT FOR THE FOLLOWING REASONS.

1. TO STRUCTURE THE DATA BETWEEN TABLES SO THAT DATA MAINTENANCE IS SIMPLIFIED.

2. TO ALLOW DATA4 RETRIEVAL AT OPTIMAL SPEED.

3. TO SIMPLIFY DATA MAINTENANCE THROUGH UPDATES, INSERTS AND DELETES.

4. TO REDUCE THE NEEDS TO RESTRUCTURE TABLES AS NEW APPLICATION REQUIREMENT OF


TABLE DATA.

5. TO IMPROVE THE QUALITY OF DESIGN FOR AN APPLICATION BY RATIONALIZATION OF


TABLE DATA.

-------------------------------------------------------------------------

=> NORMALIZATION IS TECHNIQUE THAT:

1. DECOMPOSES DATA INTO TWO-DIMENSIONAL TABLES.

4E2. ELIMINATES ANY RELATIONSHIPS IN WHICH TABLE DATA DOES FULLY DEPEND UPON
THE PRIMARY KEY OF RECORD.

3. ELIMINATES ANY RELATIONSHIPS THAT CONTAINS TRANSITIVE DEPEDENCIES.

-------------------------------------------------------------------------

WE HAVE THREE FORM OF NORMALIZATION:

1. 1NF(FIRST NORMAL FORM).

WHEN A TABLE IS DECOMPOSED INTO TWO-DIMENSIONAL TABLES WITH ALL REPEATING GROUPS
OF THE DATA ELIMINATED, THE TABLE IS SAID TO BE IN ITS FIRST NORMAL FORM.

THE REPETITIVE PORTION OF DATA BELONGING TO THE RECORD IS TERMED AS REPEATING


GROUPS.

TABLE: EMPPROJ

FIELD KEY TYPE

PROJECT NUMBER -- --

PROJECT NAME -- --

EMPLOYEE NUMBER -- 1-N

EMPLOYEE NAME -- 1-N

RATE CATEGORY -- 1-N

HOURLY RATE -- 1-N


-> DATA HELD IN THE ABOVE TABLE STRUCTURES.

PNO PNAME EMPNO EMPNAME RTCT HTRT

P01 MSQL E01 S.SINGH A 7000

P01 MSQL E02 V.SHAH B 6500

P01 MSQL E06 H.CALCO C 4500

P02 OFFICE E01 S.SINGH A 7000

P02 OFFICE E07 C.BANKAR B 4000

-------------------------------------------------------------------------

->IN THE ABOVE DATA THERE ARE A FEW PROBLEMS.

1. THE PROJECT NAME IN THE SECOND RECORD IS MISSPELLED. THIS CAN BE SOLVED BY
REMOVING DUPLICATES.

2. DATA IS REPEATED AND THUS OCCUPIES MORE SPACES.

-> A TABLE IS IN 1ST NORMAL FORM IF.

1. THERE ARE NO REPEATING GROUPS .

2. ALL THE KEY ATTRIBUTE ARE DEFINED.

3. ALL ATTRIBUTE ARE DEPENDENT ON A PRIMARY KEY.

-------------------------------------------------------------------------

2. 2NF(SECOND NORMAL FORM).

A TABLE IS SAID TO BE IN ITS SECOND NORMAL FORM WHEN EACH RECORD IN THE TABLE IS
IN THE FIRST NORMAL FORM AND EACH COLUMN IN THE RECORD IS FULLY DEPENDENT ON ITS
PRIMARY KEY.

-> A TABLE IS IN 2ND NORMAL FORM IF:

1. IT'S IN 1ST NORMAL FORM .

2. IT INCLUDES NO PARTIAL DEPENDENCIES(WHERE AN ATTRIBUTE IS DEPENDENT ON ONLY A


PART OF A PRIMARY KEY).

-> THE STEPS TO CONVERT A TABLE TO ITS SECOND NORMAL FORM.

1. FIND AND REMOVE FIELDS THAT ARE RELATED TO THE ONLY PART OF THE KEY.

2. GROUP THE REMOVED ITEMS IN THE ANOTHER TABLE.

3. ASSIGN THE NEW TABLE WITH THE KEY. ITS PART OF A WHOLE COMPOSITE KEY.

TABLE: EMPPROJ
FIELD KEY TYPE

PROJECT NUMBER PRIMARY KEY

EMPLOYEE NUMBER PRIMARY KEY

TABLE: EMP

FIELD KEY TYPE

EMPLOYEE NUMBER PRIMARY KEY

EMPLOYEE NAME -- --

RATE CATEGORY -- --

HOURLY RATE -- --

TABLE: PROJ

FIELD KEY TYPE

PROJECT NUMBER PRIMARY KEY --

PROJECT NAME. -- --

-------------------------------------------------------------------------

3. 3NF(THIRD NORMAL FORM).TABLE DATA IS SAID TO BE THIRD NORMAL FORMAT WHEN ALL
TRANSITIVE DEPENDENCIES ARE REMOVED FROM THIS DATA.

-> THE TABLE IS IN 3RD NORMAL FORM IF:

1. IT'S IN 2ND NORMAL FORM.

2. IT CONTAINS NO TRANSITIVE DEPENDENCIES (WHERE A NON-KEY ATTRIBUTE IS


DEPENDENT ON ANOTHER NON-KEY ATTRIBUTE).

A GENERAL CASE OF TRANSITIVE DEPENDECIES IS AS FOLLOWS.

A,B,C ARE THREE COLUMNS IN TABLE.

IF C IS RELATED TO B.

IF B IS RELATED TO A.

THEN C IS INDIRECTLY RELATED TO A.

TABLE: EMPPROJ

FIELD KEY TYPE


PROJECT NUMBER PRIMARY KEY

EMPLOYEE NUMBER PRIMARY KEY

TABLE: EMP

FIELD KEY TYPE

EMPLOYEE NUMBER PRIMARY KEY

EMPLOYEE NAME -- --

RATE CATEGORY -- --

TABLE: RATE

FIELD KEY TYPE

RATE CATEGORY PRIMARY KEY --

HOURLY RATE -- --

TABLE: PROJ

FIELD KEY TYPE

PROJECT NUMBER PRIMARY KEY --

PROJECT NAME. -- --

-------------------------------------------------------------------------

=>BCNF(BAYCEE CODE NORMAL FORM)

IT IS A TYPE OF THIRD NORMAL FORM , BUT IT DIFFERS FROM THIRD NF. BCNF IS
POWERFUL FORM OF THIRD NF. A TABLE MAY BE CONVERTED IN BCNF IF IT IS ALREADY IN
THE THIRD NF. IT IS ALSO CALLED 3 1/2 NF.

=========================================================================

=> COMMERCIALLY AVAILABLE DBMS'S(BACK-ENDS)

1. ORACLE.

2. MS-SQL SERVER.

3. DB2.

4. MYSQL

5. SYBASE.

6. INGRES.

=========================================================================
=> ABOUT ORACLE HISTORY.

->DEVELOPED IN YEAR 1977 BY LARY ELLISION AND ITS TEAM MATES.

-> IT IS THE 1ST DATABASE WHICH IS BASED IN 'RELATIONAL MODEL' GIVEN BY 'E.F.
TED CODD" OF IBM.

-> COMPANY NAME -> 'RELATION SOFTWARE INC.' LATER IN 1978 IT BECOMES 'ORACLE
CORPORATION'

-------------------------------------------------------------------------

=>VERSIONS OF ORACLE.

-> FIRST VERSIONS-ORACLE2.0 INITIALLY DESIGNED FOR PDP-11 MAINFRAMES.

-> TILL ORACLE 6.0 IT REQUIRES UNIX OS.

-> FROM ORACLE 7 ONWARDS IT ALSO RUNS ON WINDOWS(FIRST TRUE RDBMS).

-> ORACLE 8.0 (ORDBMS).

-> ORACLE 8I( INTERNET TECHNOLOGY).

-> ORACLE 9I (OORDBMS)(OBJECT ORIENTED)

-> ORACLE 10G(GRID COMPUTING)-24x7 AVAILABILITYBY USING GROUP OF INTERCONNECTED


CLUSTERS SERVER.(MISSION CRITICAL DATABASES).

-> ORACLE 11G ASM-> AUTOMATIC STORAGE MANAGEMENT FLASH BACK UP TABLES.

-------------------------------------------------------------------------

=> TWO TIER AND THREE TIER ARCHITECTURE

ORACLE SUPPORTS BOTH TWO TIER (LEVEL) AND THREE TIER ARCHITECTURES. THE MEANING
OF THESE TWO TIER ARCHITECTURES ARE GIVEN AS FOLLOWS.

-> TWO TIER ARCHITECTURE

IN TWO TIER ARCHITECTURE ONE TIER (LEVEL) IS OF CLIENT (FRONT-END) AND OTHER IS
OF SERVER(BACK-END) SO IT MEANS COMPLETE APPLICATION(SOFTWARE) IS DIVIDED INTO
TWO PARTS.

CLIENT TIER-------> SERVER TIER.

-> THREE TIER ARCHITECTURE.

IN THIS ARCHITECTURE , A ONE TIER IS ADDED. BUSINESS LOGIC TIER WHICH DEALS THE
BUSINESS RULES OR POLICIES IF ANY ORGANIZATION. THIS TIER LIES BETWEEN CLIENT
TIER AND SERVER TIER.

CLIENT TIER-----> BUSINESS LOGIC TIER------> SERVER TIER.

==============================================================
=>SQL(STRUCTURE QUERY LANGUAGE)

SQL IS NATIVE LANGUAGE OF ORACLE. ITS A LANGUAGE THAT PROVIDES AN INTERFAVE TO


RELATIONAL DATABASE SYSTEMS. ITS USED TO ACCESS THE DATA AND STRCUTURES WITHIN A
RELATIONAL DATABASE. PL/SQL (AN ORACLE SPECIFIC EXTENSION) ALLOWS BASIC
PROGRAMS, LOGIC AND CONTROL FLOW TO BE IMPLEMENTED AROUND SQL STATEMENTS.

-------------------------------------------------------------

-> FEATURES OF SQL

1. SQL CAN BE USED BY A RANGE OF USERS, INCLUDING THOSE WITH LITTLE OR NO


PROGRAMMING EXPERIENCE.

2. IT IS A NON PROCEDURAL LANGUAGE.

3. IT REDUCES THE AMOUNT OF TIME REQUIRED FOR CREATING AND MAINTAINING SYSTEMS.

4. IT IS AN ENGLISH-LIKE LANGUAGE.

5. IT PROVIDES COMMANDS FOR THE FOLLOWING TASKS.

A. QUERYING DATA.

B. INSERTING,UPDATING AND DELETING DATA.

C. CREATING, MODIFYING AND DELETING DATABASE OBJECTS,

D. CONTROLLING ACCESS TO THE DATABASE AND DATABASE OBJECTS.

E. GUARANTEING DATABASE CONSISTENCY.

F. MONITORING DATABASE PERFORMANCE AND CONFIGURATION.

----------------------------------------------------------

-> RULES OF SQL.

1. SQL STARTS WITH A VERB(SQL ACTION WORD) EXAMPLE: SELECT STATEMENTS. THIS VERB
MAY HAVE ADDITIONAL ADJECTIVES. EXAMPLE: FROM

2. EACH VERB IS FOLLOWED BY NUMBER OF CLAUSES. EXAMPLE: FROM,WHERE, HAVING.

3. A SPACE SEPARATES CLAUSES. EXAMPLE: DROP TABLE EMP.

4. A COMMA(,) SEPARATES PARAMETERS WITHOUT A CLAUSE.

5. A ';' IS USED TO END SQL STATEMENTS.

6. STATEMENTS MAY BE SPLIT ACROSS LINES BUT KEYWORDS MAY NOT.

7. LEXICAL UNITS SUCH AS IDENTIFIERS, OPERATOR NAMES, LITERALS ARE SEPARATED BY


ONE OR MORE SPACES OR OTHER DELIMITERS THAT WILL NOT BE CONFUSED WITH THE
LEXICAL UNIT.

8. RESERVED WORDS CANNOT BE USED AS IDENTIFIERS UNLESS ENCLOSED WITH DOUBLE


QUOTES. RESERVED WORDS ARE:

AS, IN, BY, IS, OF, ON, OR, TO, ADD, ALL, AND, ANY, ASC, NOT, RAW, ROW, SET,
UID, CHAR, DATE, DESC, DROP, ELSE, FILE, INTO, LIKE, LOCK, LONG, MODE, NULL,
ROWS, SIZE, THEN, USER, VIEW, WITH, ALTER, AUDIT, CHECK, FLOAT, GRANT, GROUP,
INDEX, LEVEL, MINUS, ORDER, PRIOR, PUBLIC, ROWID, SHARE, START, TABLE, UNION,
WHERE, ACCESS, COLUMN, CREATE, DELETE, EXISTS, HAVING, INSERT, MODIFY, NOW ALT,
NUMBER, ONLINE, OPTION, RENAME, REVOKE, ROWNUM, SELECT UNIQUE, UPDATE, VALUES,
BETWEEN, CLUSTER, COMMENT, COMPRESS, CONNECT, CURRENT, DECIMAL, DEFAULT,
INITIAL, INTEGER, OFFLINE, PACTFREE, NOAUDIT, SESSION, SYSDATE, SYNONYM,
TRIGGER, VARCHAR, DISTINCT, RESOURCE, ROWLABEL, SMALLINT, VALIDDATE, VARCHAR2,
WHENEVER, EXCLUSIVE, IMMEDIATE, INCREMENT, INTERSECT, INDENTIFIED,

MAXEXTENTS, NOCOMPRESS, PRIVILEGES, SUCCESSFUL.

9. IDENTIFIERS CAN CONTAIN UPTO 30 CHARACTERS AND MUST START WITH AN ALPHABETIC
CHARACTER.

10. CHARACTER AND DATE LITERALS MUST BE ENCLOSED WITHIN SINGLE QUOTES.

11. NUMERIC LITERALS CAN BE REPRESENTED BY SIMPLE VALUES SUCH AS 0.32, -34,
01991, AND SO ON, SCIENTIFIC NOTATION AS 2E5 MEANING 2x10 TO THE POWER OF 5=
200,000.

12. COMMENTS MAY BE ENCLOSED BETWEEN /* AND */ SYMBOLS AND MAY BE MULTI LINE.
SINGLE LINE COMMENTS MAY BE PREFIXED WITH A - SYMBOL.

----------------------------------------------------------

-> SQL DELIMITERS.

DELIMITERS ARE SYMBOLS OR COMPOUND SYMBOLS, WHICH HAVE A SPECIAL MEANING WITHIN
SQL AND PL/SQL STATEMENTS.

'+' - ADDITION.

'-' - SUBTRACTION.

'*' - MULTIPLICATION.

'/' - DIVISION

'=><' - RELATIONAL

'()' - EXPRESSION OR LIST

';' - TERMINATOR

'%' - ATTRIBUTE INDICATOR

',' - ITEM SEPARATOR

'.' - COMPONENT SELECTOR

'@' - REMOTE ACCESS INDICATOR

" ' " - CHARACTER STRING DELIMITER

' " ' - QUOTE IDENTIFIER

':' - HOST VARIABLE

'**' - EXPONENTIAL

'<> != ^= ' - RELATIONAL

'<= >=' - RELATIONAL

':=' - ASSIGNMENT

'=>' - ASSOCIATION
'||' - CONCATENATION

'<<' - LABEL

'>>' - LABEL

'--' - COMMENT

'/* */' - COMMENT (MULTILINE)

---------------------------------------------

-> COMPONENTS OF SQL.

1. DDL(DATA DEFINITION LANGUAGE).IT IS A SET OF SQL COMMANDS USED TO CREATE,


MODIFY AND DELETE DATABASE STRUCTURES BUT NOT DATA. THESE COMMANDS ARE NORMALLY
NOT USED BY A GENERAL USER, WHO SHOULD BE ACCESSING THE DATABASE VIA AN
APPLICATION. THEY ARE NORMALLY USED BY A DBA(DATABASE ADMINISTRATOR A PERSON WHO
MAINTAIN OR ANALYSE DATABASE FOR ORGANIZATION) TO A LIMITED EXTENT.

EXAMPLES:

A. CREATE: TO CREATE OBJECTS IN THE DATABASE.

B. ALTER: ALTERS THE STRUCTURE OF THE DATABASE.

C. DROP: DELETE OBJECTS FROM THE DATABASE.

D. TRUNCATE : REMOVE ALL RECORDS FROM A TABLE, INCLUDING ALL SPACES ALLOCATED
FOR THE RECORDS ARE REMOVED.

E. COMMENT: ADD COMMENTS TO THE DATA DICTIONARY.

F. GRANT: GIVES USER'S ACCESS PRIVILEGES TO DATABASE.

G. REVOKE: WITHDRAW ACCESS PRIVILEGES GIVEN WITH THE GRANT COMMAND.

2. DML (DATA MANIPULATION LANGUAGES). IT IS THE AREA OF SQL THAT ALLOWS CHANGING
DATA WITHIN THE DATABASE.

EXAMPLES:

A. INSERT: INSERT DATA INTO A TABLE.

B. UPDATE: UPDATES EXISTING DATA WITHIN A TABLE.

C. DELETE: DELETES ALL RECORDS FROM A TABLE, THE SPACE FOR THE RECORDS REMAIN.

D. CALL: CALL A PL/SQL OR JAVA-SUBPROGRAM.

E. EXPLAIN PLAN: EXPLAIN ACCESS PATH TO DATA.

F. LOCK: TABLE CONTROL CONCURRENCY.


3. DCL (DATA CONTROL LANGUAGE). IT IS THE COMPONENT OF SQL STATEMENT THAT
CONTROL ACCESS TO DATA AND TO THE DATABASE. OCCASSIONALLY DCL STATEMENTS ARE
GROUPED WITH DML STATEMENTS.

EXAMPLES:

A. COMMIT: SAVE WORKS DONE.

B. SAVEPOINT: IDENTIFY A POINT IN A TRANSACTION TO WHICH YOU CAN LATER ROLL


BACK.

C. ROLLBACK: RESTORE DATABASE TO ORIGINAL SINCE THE LAST COMMIT.

D. SET TRANSACTION: CHANGE TRANSACTION OPTIONS LIKE WHAT ROLLBACK SEGMENT TO


USE.

E. GRANT/REVOKE: GRANT OR TAKE BACK PERMISSIONS TO OR FROM THE ORACLE USERS.

4. DQL (DATA QUERY LANGUAGE): IT IS THE COMPONENT OF SQL STATEMENT THAT ALLOWS
GETTING DATA FROM THE DATABASE AND IMPOSING ORDERING UPON IT. IN INCLUDES THE
SELECT STATEMENT.

EXAMPLES:

SELECT: RETRIEVE DATA FROM THE A DATABASE.

---------------------------------------------

DDL COMMANDS:

CREATE TABLE :

RULES FOR CREATING TABLES:

1. A NAME CAN MAXIMUM UPTO 30 CHARACTERS.

2. ALPHABATE FROM A-Z, a-z AND NUMBERS FROM 0-9 ALLOWED.

3. A NAME SHOULD BEGIN WITH AN ALPHABET.

THE USE OF THE SPECIAL CHARACTER LIKE _ IS ALLOWED AND ALSO RECOMMENDED (SPECIAL
CHARACTERS LIKE $, # ARE ALLOWED ONLY IN ORACLE).

4. SQL RESERVED WORDS NOT ALLOWED. FOR EXAMPLE: CREATE, SELECT, AND SO ON.

SYNTAX:

CREATE TABLE <tablename> (<columnname1> <DataType>(<Size>),<columnname2>


<DataType>(<Size>),<columnname3> <DataType>(<Size>));
EXAMPLE:

CREATE TABLE EMPLOYEES (

ID INTEGER PRIMARY KEY,

FIRST_NAME VARCHAR(50) NULL,

LAST_NAME VARCHAR(75) NOT NULL,

DATEOFBIRTH DATE NULL

);

---------------------------------------------

INSERT RECORDS IN DATABASE.

---------------------------------------------

SYNTAX 1:(WHERE WE WANT TO ADD COMPLETE RECORD AT ONCE)

INSERT INTO <TABLE_NAME>

VALUES (VALUE1, VALUE2, VALUE3,...);

SYNTAX 2:(WHERE WE WANT TO ADD A PARTICULAR RECORD IN A PARTICULAR TABLE).

INSERT INTO <TABLE_NAME> (COLUMN1, COLUMN2, COLUMN3,...)

VALUES (VALUE1, VALUE2, VALUE3,...);

EXAMPLE 1:

INSERT INTO EMPLOYEES

VALUES (4,'PANKAJ', 'ADWANI',02/01/1991);

EXAMPLE 2:

INSERT INTO EMPLOYEES (ID, FIRST_NAME, LAST_NAME)

VALUES (5, 'SANJEET', 'SINGH');

---------------------------------------------

ALTER:ALTER TABLE STATEMENT IS USED TO ADD, DELETE, OR MODIFY COLUMNS IN AN


EXISTING TABLE.

---------------------------------------------

SYNTAX:

TO ADD A COLUMN IN A TABLE, USE THE FOLLOWING SYNTAX:

ALTER TABLE <TABLE_NAME> ADD (<COLUMN_NAME>, DATATYPE);

TO DELETE A COLUMN IN A TABLE, USE THE FOLLOWING SYNTAX (NOTICE THAT SOME
DATABASE SYSTEMS DON'T ALLOW DELETING A COLUMN):

ALTER TABLE <TABLE_NAME> DROP COLUMN (<COLUMN_NAME>);

RENAMING TABLE:

ALTER TABLE <TABLE_NAME> RENAME TO <NEW_TABLE_NAME>;

EXAMPLE 1(ADD):

ALTER TABLE EMPLOYEES ADD ADDRESS VARCHAR2(20);

EXAMPLE 2(DELETE):

ALTER TABLE EMPLOYEES DROP COLUMN ADDRESS;

EXAMPLE 3(ALTER)

ALTER TABLE EMPLOYEES MODIFY ADDRESS VARCHAR2(20);

---------------------------------------------

DROP: THE DROP DATABASE STATEMENT IS USED TO DELETE A DATABASE.

---------------------------------------------

SYNTAX:

DROP DATABASE <DATABASE_NAME>

TRUNCATE TABLE <table_name>

---------------------------------------------
UPDATE:THE UPDATE STATEMENT IS USED TO UPDATE EXISTING RECORDS IN A TABLE.

---------------------------------------------

SYNTAX:

UPDATE <TABLE_NAME>

SET <COLUMN1=VALUE>, <COLUMN2=VALUE2>,...

WHERE <SOME_COLUMN=SOME_VALUE>

EXAMPLE:

UPDATE EMPLOYEES

SET ADDRESS='BAIRGARH 76', CITY='bhopal'

WHERE LASTNAME='SINGH' AND FIRSTNAME='RAHUL'

---------------------------------------------

DELETE:THE DELETE STATEMENT IS USED TO DELETE ROWS IN A TABLE.

--------------------------------------------

SYNTAX:

DELETE FROM TABLE_NAME

WHERE SOME_COLUMN=SOME_VALUE

EXAMPLE:

DELETE FROM PERSONS

WHERE LASTNAME='SINGH' AND FIRSTNAME='RAHUL'

---------------------------------------------

DATA MINNING.

---------------------------------------------

DATA MINING (SOMETIMES CALLED DATA OR KNOWLEDGE DISCOVERY) IS THE PROCESS OF


ANALYZING DATA FROM DIFFERENT PERSPECTIVES AND SUMMARIZING IT INTO USEFUL
INFORMATION - INFORMATION THAT CAN BE USED TO INCREASE REVENUE, CUTS COSTS, OR
BOTH. DATA MINING SOFTWARE IS ONE OF A NUMBER OF ANALYTICAL TOOLS FOR ANALYZING
DATA. IT ALLOWS USERS TO ANALYZE DATA FROM MANY DIFFERENT DIMENSIONS OR ANGLES,
CATEGORIZE IT, AND SUMMARIZE THE RELATIONSHIPS IDENTIFIED. TECHNICALLY, DATA
MINING IS THE PROCESS OF FINDING CORRELATIONS OR PATTERNS AMONG DOZENS OF FIELDS
IN LARGE RELATIONAL DATABASES.
---------------------------------------------

DATA WAREHOUSE

---------------------------------------------

DRAMATIC ADVANCES IN DATA CAPTURE, PROCESSING POWER, DATA TRANSMISSION, AND


STORAGE CAPABILITIES ARE ENABLING ORGANIZATIONS TO INTEGRATE THEIR VARIOUS
DATABASES INTO DATA WAREHOUSES. DATA WAREHOUSING IS DEFINED AS A PROCESS OF
CENTRALIZED DATA MANAGEMENT AND RETRIEVAL. DATA WAREHOUSING, LIKE DATA MINING,
IS A RELATIVELY NEW TERM ALTHOUGH THE CONCEPT ITSELF HAS BEEN AROUND FOR YEARS.
DATA WAREHOUSING REPRESENTS AN IDEAL VISION OF MAINTAINING A CENTRAL REPOSITORY
OF ALL ORGANIZATIONAL DATA. CENTRALIZATION OF DATA IS NEEDED TO MAXIMIZE USER
ACCESS AND ANALYSIS. DRAMATIC TECHNOLOGICAL ADVANCES ARE MAKING THIS VISION A
REALITY FOR MANY COMPANIES. AND, EQUALLY DRAMATIC ADVANCES IN DATA ANALYSIS
SOFTWARE ARE ALLOWING USERS TO ACCESS THIS DATA FREELY. THE DATA ANALYSIS
SOFTWARE IS WHAT SUPPORTS DATA MINING.

--------------------------------------------------------

DATA DICTIONARY

---------------------------------------------

A DATA STRUCTURE IS WHICH META-DATA CAN BE STORED IS CALLED A DATA DICTIONARY.


COMMONLY IT IS A TABLE IN A DATABASE THAT STORES THE NAMES, FIELD, TYPES, LENGTH
AND OTHER CHARACTERISTIC OF THE FIELD IS THE DATABASE TABLE.

IN DATABASE MANAGEMENT SYSTEM THIS FUNCTIONALITY IS PERFORMED BY THE SYSTEM


CATALAGUE. IT IS ALSO USED TO DOCUMENT THE DESIGN PROCESS OF DATABASE.

------------------------------------------------

DATA MODELS

---------------------------------------------

MANAGING LARGE QUANTITIES OF STRUCTURED AND UNSTRUCTURED DATA IS A PRIMARY


FUNCTION OF INFORMATION SYSTEMS. DATA MODELS DESCRIBE STRUCTURED DATA FOR
STORAGE IN DATA MANAGEMENT SYSTEMS SUCH AS RELATIONAL DATABASES. THEY TYPICALLY
DO NOT DESCRIBE UNSTRUCTURED DATA, SUCH AS WORD PROCESSING DOCUMENTS, EMAIL
MESSAGES, PICTURES, DIGITAL AUDIO, AND VIDEO.

---------------------------------------------

TYPES OF DATA MODELS

---------------------------------------------

RELATIONAL MODELS

---------------------------------------------

THE RELATIONAL MODEL'S CENTRAL IDEA IS TO DESCRIBE A DATABASE AS A COLLECTION OF


PREDICATES OVER A FINITE SET OF PREDICATE VARIABLES, DESCRIBING CONSTRAINTS ON
THE POSSIBLE VALUES AND COMBINATIONS OF VALUES. THE CONTENT OF THE DATABASE AT
ANY GIVEN TIME IS A FINITE (LOGICAL) MODEL OF THE DATABASE, I.E. A SET OF
RELATIONS, ONE PER PREDICATE VARIABLE, SUCH THAT ALL PREDICATES ARE SATISFIED. A
REQUEST FOR INFORMATION FROM THE DATABASE (A DATABASE QUERY) IS ALSO A
PREDICATE.

--------------------------------------------

NETWORK MODEL
---------------------------------------------

THE NETWORK MODEL IS A DATABASE MODEL CONCEIVED AS A FLEXIBLE WAY OF


REPRESENTING OBJECTS AND THEIR RELATIONSHIPS. ITS DISTINGUISHING FEATURE IS THAT
THE SCHEMA, VIEWED AS A GRAPH IN WHICH OBJECT TYPES ARE NODES AND RELATIONSHIP
TYPES ARE ARCS, IS NOT RESTRICTED TO BEING A HIERARCHY OR LATTICE.

---------------------------------------------

HIERARCHICAL MODEL

-------------------------------8:39 AJIT 13/12/2013---------

A HIERARCHICAL DATABASE MODEL IS A DATA MODEL IN WHICH THE DATA IS ORGANIZED


INTO A TREE-LIKE STRUCTURE. THE STRUCTURE ALLOWS REPRESENTING INFORMATION USING
PARENT/CHILD RELATIONSHIPS: EACH PARENT CAN HAVE MANY CHILDREN, BUT EACH CHILD
HAS ONLY ONE PARENT (ALSO KNOWN AS A 1-TO-MANY RELATIONSHIP). ALL ATTRIBUTES OF
A SPECIFIC RECORD ARE LISTED UNDER AN ENTITY TYPE.

IN A DATABASE AN ENTITY TYPE IS THE EQUIVALENT OF A TABLE. EACH INDIVIDUAL


RECORD IS REPRESENTED AS A ROW, AND EACH ATTRIBUTE AS A COLUMN. ENTITY TYPES ARE
RELATED TO EACH OTHER USING 1:N MAPPINGS, ALSO KNOWN AS ONE-TO-
MANYRELATIONSHIPS. THIS MODEL IS RECOGNIZED AS THE FIRST DATABASE MODEL CREATED
BY IBM IN THE 1960S.

---------------------------------------------

UML(UNIFIED MODELING LANGUAGE)

---------------------------------------------

UNIFIED MODELING LANGUAGE (UML) COMBINES TECHNIQUES FROM DATA MODELING (ENTITY
RELATIONSHIP DIAGRAMS), BUSINESS MODELING (WORK FLOWS), OBJECT MODELING, AND
COMPONENT MODELING. IT CAN BE USED WITH ALL PROCESSES, THROUGHOUT THESOFTWARE
DEVELOPMENT LIFE CYCLE, AND ACROSS DIFFERENT IMPLEMENTATION TECHNOLOGIES.

THE UNIFIED MODELING LANGUAGE (UML) OFFERS A STANDARD WAY TO VISUALIZE A


SYSTEM'S ARCHITECTURAL BLUEPRINTS, INCLUDING ELEMENTS SUCH AS:

� ACTIVITIES

� ACTORS

� BUSINESS PROCESSES

� DATABASE SCHEMAS

� (LOGICAL) COMPONENTS

� PROGRAMMING LANGUAGE STATEMENTS

� REUSABLE SOFTWARE COMPONENTS.

UML HAS SYNTHESIZED THE NOTATIONS OF THE BOOCH METHOD, THE OBJECT-MODELING
TECHNIQUE (OMT) AND OBJECT-ORIENTED SOFTWARE ENGINEERING (OOSE) BY FUSING THEM
INTO A SINGLE, COMMON AND WIDELY USABLE MODELING LANGUAGE.[CITATION NEEDED] UML
AIMS TO BE A STANDARD MODELING LANGUAGE WHICH CAN MODEL CONCURRENT AND
DISTRIBUTED SYSTEMS.

---------------------------------------------

ER-DIAGRAM
---------------------------------------------

AN ER MODEL IS AN ABSTRACT WAY TO DESCRIBE A DATABASE. DESCRIBING A DATABASE


USUALLY STARTS WITH A RELATIONAL DATABASE, WHICH STORES DATA IN TABLES. SOME OF
THE DATA IN THESE TABLES POINT TO DATA IN OTHER TABLES - FOR INSTANCE, YOUR
ENTRY IN THE DATABASE COULD POINT TO SEVERAL ENTRIES FOR EACH OF THE PHONE
NUMBERS THAT ARE YOURS. THE ER MODEL WOULD SAY THAT YOU ARE AN ENTITY, AND EACH
PHONE NUMBER IS AN ENTITY, AND THE RELATIONSHIP BETWEEN YOU AND THE PHONE
NUMBERS IS 'HAS A PHONE NUMBER'. DIAGRAMS CREATED TO DESIGN THESE ENTITIES AND
RELATIONSHIPS ARE CALLED ENTITY�RELATIONSHIP DIAGRAMS OR ER DIAGRAMS.

---------------------------------------------

RELATIONSHIP/CARDINALITY RATIO:

---------------------------------------------

MAPPING CARDINALITIES:

EXPRESS THE NUMBER OF ENTITIES OF ONE ENTITY SET TO WHICH ANOTHER ENTITY CAN BE
ASSOCIATED VIA A RELATIONSHIP. FOR BINARY RELATIONSHIP SETS BETWEEN ENTITY SETS
A AND B, THE MAPPING CARDINALITY MUST BE ONE OF:

1. ONE-TO-ONE; AN ENTITY IN A IS ASSOCIATED WITH AT MOST ONE ENTITY IN B, AND AN


ENTITY IN B IS ASSOCIATED WITH AT MOST ONE ENTITY IN A.

2. ONE-TO-MANY; AN ENTITY IN A ASSOCIATED WITH ANY NUMBER IN B. AN ENTITY IN B


IS ASSOCIATED WITH AT MOST ONE ENTITY IN A.

3. MANY-TO-ONE: AN ENTITY IN A IS ASSOCIATED WITH AT MOST ONE ENTITY IN B. AN


ENTITY IN B IS ASSOCIATED WITH ANY NUMBER IN A.

4. MANY-TO-MANY: ENTITES IN A AND B ARE ASSOCIATED WITH ANY NUMBER FROM EACH
OTHER.

---------------------------------------------

DEGREE OF RELATIONSHIPS:

---------------------------------------------

DEGREE OF RELATIONSHIP DEPENDS ON THE NUMBER OF ENTITY SETS PARTICIPATING IN


THAT RELATIONSHIP. IT CAN BE CLASSIFIED IN THE FOLLOWING WAYS:

1. UNARY/RECURSIVE RELATIONSHIP- HERE ONLY ENTITY SET DOES RELATIONSHIP ITSELF


ONLY.

2. BINARY RELATIONSHIP: HERE THE TWO ENTITY SETS ARE INVOLVED IN THE
RELATIONSHIP DIRECTLY. THIS IS THE BEST WAY TO MAINTAIN THE RELATIONSHIP IN ER
MODEL BECAUSE TERNARY IS NOT A GOOD RELATIONSHIP.

3. TERNARY RELATIONSHIP: HERE THE THREE ENTITY SETS ARE INVOLVED IN RELATIONSHIP
WITH EACH OTHER DIRECTLY. THIS IS NOT A GOOD WAY MANAGING THE RELATIONSHIP.

---------------------------------------------
WEAK ENTITY:

AN ENTITY IS WEAK IF THE ENTITY DOES NOT HAVE A KEY AND SATISFIES THE FOLLOWING
CONDITIONS:

1. THE OWNER ENTITY SET AND THE WEAK ENTITY SET MUST PARTICIPATE IN A ONE TO
MANY RELATIONSHIP.

2. THE WEAK ENTITY SET MUST HAVE TOTAL PARTICIPATION IN THE IDENTIFYING
RELATIONSHIP SET.

---------------------------------------------

CLIENT/SERVER MODEL OF COMPUTING

---------------------------------------------

TO TRULY UNDERSTAND HOW MUCH OF THE INTERNET OPERATES, INCLUDING THE WEB, IT IS
IMPORTANT TO UNDERSTAND THE CONCEPT OF CLIENT/SERVER COMPUTING. THE
CLIENT/SERVER MODEL IS A FORM OF DISTRIBUTED COMPUTING WHERE ONE PROGRAM (THE
CLIENT) COMMUNICATES WITH ANOTHER PROGRAM (THE SERVER) FOR THE PURPOSE OF
EXCHANGING INFORMATION.

THE CLIENT'S RESPONSIBILITY IS USUALLY TO:

� HANDLE THE USER INTERFACE.

� TRANSLATE THE USER'S REQUEST INTO THE DESIRED PROTOCOL.

� SEND THE REQUEST TO THE SERVER.

� WAIT FOR THE SERVER'S RESPONSE.

� TRANSLATE THE RESPONSE INTO "HUMAN- READABLE" RESULTS.

� PRESENT THE RESULTS TO THE USER.

THE SERVER'S FUNCTIONS INCLUDE:

� LISTEN FOR A CLIENT'S QUERY.

� PROCESS THAT QUERY.

� RETURN THE RESULTS BACK TO THE CLIENT.

A TYPICAL CLIENT/SERVER INTERACTION GOES LIKE THIS:

� THE USER RUNS CLIENT SOFTWARE TO CREATE A QUERY.

� THE CLIENT CONNECTS TO THE SERVER.

� THE CLIENT SENDS THE QUERY TO THE SERVER.

� THE SERVER ANALYZES THE QUERY.

� THE SERVER COMPUTES THE RESULTS OF THE QUERY.

� THE SERVER SENDS THE RESULTS TO THE CLIENT.

� THE CLIENT PRESENTS THE RESULTS TO THE USER.

� REPEAT AS NECESSARY.
---------------------------------------------

DQL STATMENT

---------------------------------------------

SELECT:

------------------------

SQL SELECT STATEMENT

----------------------------

THE SELECT STATEMENT IS USED TO SELECT DATA FROM A DATABASE.

THE RESULT IS STORED IN A RESULT TABLE, CALLED THE RESULT-SET.

SYNTAX:

SELECT <COLUMN_NAME(S)> FROM <TABLE_NAME>;

AND

SELECT * FROM <TABLE_NAME>;

------------------------------------

THE SQL SELECT DISTINCT STATEMENT

-------------------------------------

IN A TABLE, SOME OF THE COLUMNS MAY CONTAIN DUPLICATE VALUES. THIS IS NOT A
PROBLEM, HOWEVER, SOMETIMES YOU WILL WANT TO LIST ONLY THE DIFFERENT (DISTINCT)
VALUES IN A TABLE.

THE DISTINCT KEYWORD CAN BE USED TO RETURN ONLY DISTINCT (DIFFERENT) VALUES.

SYNTAX

SELECT DISTINCT <COLUMN_NAME(S)>

FROM <TABLE_NAME>;

EXAMPLE:

SELECT DISTINCT City FROM Persons;

----------------------------------
SELECT WITH WHERE CLAUSE

------------------------------

SYNTAX

SELECT <column_name(s)>

FROM <table_name>

WHERE <column_name> <operator> <value>;

EXAMPLE:

This is correct:

SELECT * FROM Persons WHERE FirstName='Tove';

This is wrong:

SELECT * FROM Persons WHERE FirstName=Tove;

EXAMPLE:

This is correct:

SELECT * FROM Persons WHERE Year=1965;

This is wrong:

SELECT * FROM Persons WHERE Year='1965';

---------------------------------------------------

SELECT WITH BETWEEN CLAUSE:

-----------------------------------

SYNTAX:

SELECT <column_name(s)>

FROM <table_name>

WHERE <column_name1> BETWEEN <value1>, <value2>;


---------------------------------------------

SELECT WITH GROUP BY CLAUSE

---------------------------------------------

SELECT <column_name>, <aggregate_function(column_name)>

FROM <table_name> WHERE <column_name> <operator> <value>

GROUP BY <column_name>;

EXAMPLE:

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer;

---------------------------------------------

SELECT WITH HAVING CLAUSE

---------------------------------------------

SELECT <column_name>, <aggregate_function(column_name)>

FROM <table_name> WHERE <column_name> <operator> <value>

GROUP BY <column_name> HAVING <aggregate_function(column_name)> <operator>


<value>;

EXAMPLE:

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer HAVING SUM(OrderPrice)<2000;

---------------------------------------------

SELECT WITH ORDER BY CLAUSE

---------------------------------------------

SELECT <column_name(s)> FROM <table_name> ORDER BY <column_name(s)> ASC|DESC ;

EXAMPLE:

SELECT * FROM Persons ORDER BY LastName DESC;

*ASC IS SET BY DEFAULT.


---------------------------------------------

SELECT WITH IN CLAUSE

---------------------------------------------

THE IN OPERATOR ALLOWS YOU TO SPECIFY MULTIPLE CALUES IN WHERE CLAUSE.

SYNTAX:

SELECT <column_name(s)> FROM <table_name> WHERE <column_name> IN


(value1,value2,...);

EXAMPLE:

SELECT * FROM Persons WHERE LastName IN ('Hansen','Pettersen');

---------------------------------------------

SELECT WITH LIKE OPERATOR WITH SOME WILDCARDS

---------------------------------------------

SQL WILDCARDS

---------------------------------------------

SQL WILDCARDS CAN SUBSTITUTE FOR ONE OR MORE CHARACTERS WHEN SEARCHING FOR DATA
IN A DATABASE.

SQL WILDCARDS MUST BE USED WITH THE SQL LIKE OPERATOR.

WITH SQL, THE FOLLOWING WILDCARDS CAN BE USED:

---------------------------------------------

WILDCARD DESCRIPTION

% A SUBSTITUTE FOR ZERO OR MORE CHARACTERS

_ A SUBSTITUTE FOR EXACTLY ONE CHARACTER

[CHARLIST] ANY SINGLE CHARACTER IN CHARLIST

[^CHARLIST]
OR

[!CHARLIST] ANY SINGLE CHARACTER NOT IN CHARLIST

---------------------------------------------

SELECT USING LIKE WITH USING WILD CARDS:

---------------------------------------------

LIKE %

SYNTAX:

SELECT * FROM Persons WHERE City LIKE 'sa%';

*WE WANT TO SELECT THE PERSONS LIVING IN A CITY THAT STARTS WITH "SA" FROM THE
"PERSONS" TABLE.

---------------------------------------------

WE WANT TO SELECT THE PERSONS LIVING IN A CITY THAT CONTAINS THE PATTERN "NES"
FROM THE "PERSONS" TABLE.

SYNTAX:

SELECT * FROM Persons WHERE City LIKE '%nes%';

-------------------------------------------------

WE WANT TO SELECT THE PERSONS WITH A FIRST NAME THAT STARTS WITH ANY CHARACTER,
FOLLOWED BY "LA" FROM THE "PERSONS" TABLE.

SYNTAX:

SELECT * FROM Persons WHERE FirstName LIKE '_la';

---------------------------------------------

WE WANT TO SELECT THE PERSONS WITH A LAST NAME THAT STARTS WITH "S", FOLLOWED BY
ANY CHARACTER, FOLLOWED BY "END", FOLLOWED BY ANY CHARACTER, FOLLOWED BY "ON"
FROM THE "PERSONS" TABLE.

SYNTAX:

SELECT * FROM Persons WHERE LastName LIKE 'S_end_on';

---------------------------------------------

WE WANT TO SELECT THE PERSONS WITH A LAST NAME THAT STARTS WITH "B" OR "S" OR
"P" FROM THE "PERSONS" TABLE.

SYNTAX:

SELECT * FROM Persons WHERE LastName LIKE '[bsp]%';

---------------------------------------------

WE WANT TO SELECT THE PERSONS WITH A LAST NAME THAT DO NOT START WITH "B" OR "S"
OR "P" FROM THE "PERSONS" TABLE.

SYNTAX:

SELECT * FROM Persons WHERE LastName LIKE '[!bsp]%';

---------------------------------------------

SUB QUERIES:

---------------------------------------------

SELECT * FROM <TABLE_ONE> WHERE <UNIQUE_COLUMN> = (SELECT UNIQUE_COLUMN FROM


TABLE_TWO WHERE CONDITION);

---------------------------------------------

SELECT USING UNION, UNION ALL, INTERSECT, MINUS:

--------------------------------------------

1. UNION: THE UNION QUERY ALLOWS YOU TO COMBINE THE RESULT SETS OF 2 OR MORE
"SELECT" QUERIES. IT REMOVES DUPLICATE ROWS BETWEEN THE VARIOUS "SELECT"
STATEMENTS.

SYNTAX:

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE1>

UNION

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE2>

---------------------------------------------

2. UNION ALL: THE UNION QUERY ALLOWS YOU TO COMBINE THE RESULT SETS OF 2 OR MORE
"SELECT" QUERIES.IT RETURNS ALL ROWS (EVEN IF THE ROW EXISTS IN MORE THAN ONE OF
THE "SELECT" STATEMENTS).

SYNTAX:

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE1>

UNION ALL
SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE2>;

---------------------------------------------

3. INTERSECT: THE INTERSECT QUERY ALLOWS YOU TO RETURN THE RESULTS OF 2 OR MORE
"SELECT QUERIES.IT RETURNS ONLY THOSE ROWS THAT ARE RETRIEVED COMMON TO BOTH THE
QUERIES.

SYNTAX:

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE1>

INTERSECT

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE2>;

---------------------------------------------

4. MINUS: IT RETURNS ONLY THAT UNIQUE RECORDS WHICH CONSISTS IN FIRST QUERY
ONLY. MEANS THE MINUS CLAUSE OUTPUTS THE ROWS PRODUCED BY THE FIRST QUERY, AFTER
FILTERING THE ROWS RETRIEVED BY THE SECOND QUERY.

SYNTAX:

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE1>

MINUS

SELECT <FIELD1 , FIELD2,........ FIELD N> FROM <TABLE2>;

---------------------------------------------

SQL JOINS

---------------------------------------------

SQL JOINS ARE USED TO QUERY DATA FROM TWO OR MORE TABLES, BASED ON A
RELATIONSHIP BETWEEN CERTAIN COLUMNS IN THESE TABLES.

---------------------------------------------

THE JOIN KEYWORD IS USED IN AN SQL STATEMENT TO QUERY DATA FROM TWO OR MORE
TABLES, BASED ON A RELATIONSHIP BETWEEN CERTAIN COLUMNS IN THESE TABLES.

TABLES IN A DATABASE ARE OFTEN RELATED TO EACH OTHER WITH KEYS.

A PRIMARY KEY IS A COLUMN (OR A COMBINATION OF COLUMNS) WITH A UNIQUE VALUE FOR
EACH ROW. EACH PRIMARY KEY VALUE MUST BE UNIQUE WITHIN THE TABLE. THE PURPOSE IS
TO BIND DATA TOGETHER, ACROSS TABLES, WITHOUT REPEATING ALL OF THE DATA IN EVERY
TABLE.

LOOK AT THE "PERSONS" TABLE:

P_ID LASTNAME FIRSTNAME/ADDRESS CITY

1 HANSEN OLA /TIMOTEIVN 10 SANDNES


2 SVENDSON TOVE /BORGVN 23 SANDNES

3 PETTERSEN KARI /STORGT 20 STAVANGER

NOTE:- THE "P_ID" COLUMN IS THE PRIMARY KEY IN THE "PERSONS" TABLE. THIS MEANS
THAT NO TWO ROWS CAN HAVE THE SAME P_ID. THE P_ID DISTINGUISHES TWO PERSONS EVEN
IF THEY HAVE THE SAME NAME.

NEXT, WE HAVE THE "ORDERS" TABLE:

O_ID ORDERNO P_ID

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

NOTE:- THE "O_ID" COLUMN IS THE PRIMARY KEY IN THE "ORDERS" TABLE AND THAT THE
"P_ID" COLUMN REFERS TO THE PERSONS IN THE "PERSONS" TABLE WITHOUT USING THEIR
NAMES.

NOTICE THAT THE RELATIONSHIP BETWEEN THE TWO TABLES ABOVE IS THE "P_ID" COLUMN.

________________________________________

DIFFERENT SQL JOINS

BEFORE WE CONTINUE WITH EXAMPLES, WE WILL LIST THE TYPES OF JOIN YOU CAN USE,
AND THE DIFFERENCES BETWEEN THEM.

� JOIN: RETURN ROWS WHEN THERE IS AT LEAST ONE MATCH IN BOTH TABLES

� LEFT JOIN: RETURN ALL ROWS FROM THE LEFT TABLE,EVEN IF THERE ARE NO
MATCHES IN THE RIGHT TABLE

� RIGHT JOIN: RETURN ALL ROWS FROM THE RIGHT TABLE, EVEN IF THERE ARE NO
MATCHES IN THE LEFT TABLE

� FULL JOIN: RETURN ROWS WHEN THERE IS A MATCH IN ONE OF THE TABLES

---------------------------------

SQL INNER JOIN KEYWORD

---------------------------------------------

THE INNER JOIN KEYWORD RETURNS ROWS WHEN THERE IS AT LEAST ONE MATCH IN BOTH
TABLES.
SQL INNER JOIN SYNTAX

SELECT COLUMN_NAME(S)

FROM TABLE_NAME1

INNER JOIN TABLE_NAME2

ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME

PS: INNER JOIN IS THE SAME AS JOIN.

________________________________________

SQL INNER JOIN EXAMPLE

THE "PERSONS" TABLE:

P_ID LASTNAME FIRSTNAME ADDRESS

1 HANSEN OLA TIMOTEIVN 10 SANDNES

2 SVENDSON TOVE BORGVN 23 SANDNES

3 PETTERSEN KARI STORGT 20 STAVANGER

THE "ORDERS" TABLE:

O_ID ORDERNO P_ID

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

NOW WE WANT TO LIST ALL THE PERSONS WITH ANY ORDERS.

WE USE THE FOLLOWING SELECT STATEMENT:

EXAMPLE:

SELECT PERSONS.LASTNAME, PERSONS.FIRSTNAME, ORDERS.ORDERNO

FROM PERSONS

INNER JOIN ORDERS

ON PERSONS.P_ID=ORDERS.P_ID
ORDER BY PERSONS.LASTNAME

THE RESULT-SET WILL LOOK LIKE THIS:

LASTNAME FIRSTNAME ORDERNO

HANSEN OLA 22456

HANSEN OLA 24562

PETTERSEN KARI 77895

PETTERSEN KARI 44678

THE INNER JOIN KEYWORD RETURNS ROWS WHEN THERE IS AT LEAST ONE MATCH IN BOTH
TABLES. IF THERE ARE ROWS IN "PERSONS" THAT DO NOT HAVE MATCHES IN "ORDERS",
THOSE ROWS WILL NOT BE LISTED.

---------------------------------------------

SQL LEFT JOIN KEYWORD

THE LEFT JOIN KEYWORD RETURNS ALL ROWS FROM THE LEFT TABLE (TABLE_NAME1), EVEN
IF THERE ARE NO MATCHES IN THE RIGHT TABLE (TABLE_NAME2).

SQL LEFT JOIN SYNTAX

SELECT COLUMN_NAME(S)

FROM TABLE_NAME1

LEFT JOIN TABLE_NAME2

ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME

IN SOME DATABASES LEFT JOIN IS CALLED LEFT OUTER JOIN.

________________________________________

SQL LEFT JOIN EXAMPLE

THE "PERSONS" TABLE:

P_ID LASTNAME FIRSTNAME ADDRESS CITY

1 HANSEN OLA TIMOTEIVN 10 SANDNES

2 SVENDSON TOVE BORGVN 23 SANDNES


3 PETTERSEN KARI STORGT 20 STAVANGER

THE "ORDERS" TABLE:

O_ID ORDERNO P_ID

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

NOW WE WANT TO LIST ALL THE PERSONS AND THEIR ORDERS - IF ANY, FROM THE TABLES
ABOVE.

WE USE THE FOLLOWING SELECT STATEMENT:

SELECT PERSONS.LASTNAME, PERSONS.FIRSTNAME, ORDERS.ORDERNO

FROM PERSONS

LEFT JOIN ORDERS

ON PERSONS.P_ID=ORDERS.P_ID

ORDER BY PERSONS.LASTNAME;

THE RESULT-SET WILL LOOK LIKE THIS:

LASTNAME FIRSTNAME ORDERNO

HANSEN OLA 22456

HANSEN OLA 24562

PETTERSEN KARI 77895

PETTERSEN KARI 44678

SVENDSON TOVE

THE LEFT JOIN KEYWORD RETURNS ALL THE ROWS FROM THE LEFT TABLE (PERSONS), EVEN
IF THERE ARE NO MATCHES IN THE RIGHT TABLE (ORDERS).

---------------------------------------------

SQL RIGHT JOIN KEYWORD

---------------------------------------------

THE RIGHT JOIN KEYWORD RETURNS ALL THE ROWS FROM THE RIGHT TABLE (TABLE_NAME2),
EVEN IF THERE ARE NO MATCHES IN THE LEFT TABLE (TABLE_NAME1).
SQL RIGHT JOIN SYNTAX

SELECT COLUMN_NAME(S)

FROM TABLE_NAME1

RIGHT JOIN TABLE_NAME2

ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME

PS: IN SOME DATABASES RIGHT JOIN IS CALLED RIGHT OUTER JOIN.

________________________________________

SQL RIGHT JOIN EXAMPLE

THE "PERSONS" TABLE:

P_ID LASTNAME FIRSTNAME ADDRESS CITY

1 HANSEN OLA TIMOTEIVN 10 SANDNES

2 SVENDSON TOVE BORGVN 23 SANDNES

3 PETTERSEN KARI STORGT 20 STAVANGER

THE "ORDERS" TABLE:

O_ID ORDERNO P_ID

1 77895 3

2 44678 3

3 22456 1

4 24562 1

5 34764 15

NOW WE WANT TO LIST ALL THE ORDERS WITH CONTAINING PERSONS - IF ANY, FROM THE
TABLES ABOVE.

WE USE THE FOLLOWING SELECT STATEMENT:

SELECT PERSONS.LASTNAME, PERSONS.FIRSTNAME, ORDERS.ORDERNO

FROM PERSONS

RIGHT JOIN ORDERS

ON PERSONS.P_ID=ORDERS.P_ID

ORDER BY PERSONS.LASTNAME
THE RESULT-SET WILL LOOK LIKE THIS:

LASTNAME FIRSTNAME ORDERNO

HANSEN OLA 22456

HANSEN OLA 24562

PETTERSEN KARI 77895

PETTERSEN KARI 44678

34764

THE RIGHT JOIN KEYWORD RETURNS ALL THE ROWS FROM THE RIGHT TABLE (ORDERS), EVEN
IF THERE ARE NO MATCHES IN THE LEFT TABLE (PERSONS).

---------------------------------------------

SQL FULL JOIN KEYWORD

THE FULL JOIN KEYWORD RETURN ROWS WHEN THERE IS A MATCH IN ONE OF THE TABLES.

SQL FULL JOIN SYNTAX

SELECT COLUMN_NAME(S)

FROM TABLE_NAME1

FULL JOIN TABLE_NAME2

ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME

________________________________________

SQL FULL JOIN EXAMPLE

THE "PERSONS" TABLE:

P_ID LASTNAME FIRSTNAME ADDRESS CITY

1 HANSEN OLA TIMOTEIVN 10 SANDNES

2 SVENDSON TOVE BORGVN 23 SANDNES

3 PETTERSEN KARI STORGT 20 STAVANGER

THE "ORDERS" TABLE:

O_ID ORDERNO P_ID

1 77895 3
2 44678 3

3 22456 1

4 24562 1

5 34764 15

NOW WE WANT TO LIST ALL THE PERSONS AND THEIR ORDERS, AND ALL THE ORDERS WITH
THEIR PERSONS.

WE USE THE FOLLOWING SELECT STATEMENT:

SELECT PERSONS.LASTNAME, PERSONS.FIRSTNAME, ORDERS.ORDERNO

FROM PERSONS

FULL JOIN ORDERS

ON PERSONS.P_ID=ORDERS.P_ID

ORDER BY PERSONS.LASTNAME

THE RESULT-SET WILL LOOK LIKE THIS:

LASTNAME FIRSTNAME ORDERNO

HANSEN OLA 22456

HANSEN OLA 24562

PETTERSEN KARI 77895

PETTERSEN KARI 44678

SVENDSON TOVE

34764

THE FULL JOIN KEYWORD RETURNS ALL THE ROWS FROM THE LEFT TABLE (PERSONS), AND
ALL THE ROWS FROM THE RIGHT TABLE (ORDERS). IF THERE ARE ROWS IN "PERSONS" THAT
DO NOT HAVE MATCHES IN "ORDERS", OR IF THERE ARE ROWS IN "ORDERS" THAT DO NOT
HAVE MATCHES IN "PERSONS", THOSE ROWS WILL BE LISTED AS WELL.

---------------------------------------------

SQL FUNCTIONS:

---------------------------------------------

SQL HAS MANY BUILT-IN FUNCTIONS FOR PERFORMING CALCULATIONS ON DATA.

________________________________________

SQL AGGREGATE FUNCTIONS

---------------------------------------

SQL AGGREGATE FUNCTIONS RETURN A SINGLE VALUE, CALCULATED FROM VALUES IN A


COLUMN.

USEFUL AGGREGATE FUNCTIONS:

� AVG() - RETURNS THE AVERAGE VALUE

� COUNT() - RETURNS THE NUMBER OF ROWS

� FIRST() - RETURNS THE FIRST VALUE

� LAST() - RETURNS THE LAST VALUE

� MAX() - RETURNS THE LARGEST VALUE

� MIN() - RETURNS THE SMALLEST VALUE

� SUM() - RETURNS THE SUM

________________________________________

SQL SCALAR FUNCTIONS

----------------------------------------

SQL SCALAR FUNCTIONS RETURN A SINGLE VALUE, BASED ON THE INPUT VALUE.

USEFUL SCALAR FUNCTIONS:

� UCASE() - CONVERTS A FIELD TO UPPER CASE

� LCASE() - CONVERTS A FIELD TO LOWER CASE

� MID() - EXTRACT CHARACTERS FROM A TEXT FIELD

� LEN() - RETURNS THE LENGTH OF A TEXT FIELD

� ROUND() - ROUNDS A NUMERIC FIELD TO THE NUMBER OF DECIMALS SPECIFIED

� NOW() - RETURNS THE CURRENT SYSTEM DATE AND TIME

� FORMAT() - FORMATS HOW A FIELD IS TO BE DISPLAYED

---------------------------------------------SQL STRING FUNCTIONS:

---------------------------------------------

SQL STRING FUNCTIONS ARE USED PRIMARILY FOR STRING MANIPULATION. THE FOLLOWING
TABLE DETAILS THE IMPORTANT

STRING FUNCTIONS:

NAME

DESCRIPTION

ASCII()
RETURN NUMERIC VALUE OF LEFT-MOST CHARACTER

CHAR()

RETURN THE CHARACTER FOR EACH INTEGER PASSED.

CHARACTER_LENGTH()

A SYNONYM FOR CHAR_LENGTH()

CONCAT_WS()

RETURN CONCATENATE WITH SEPARATOR

CONCAT()

RETURN CONCATENATED STRING

CONV()

CONVERT NUMBERS BETWEEN DIFFERENT NUMBER BASES

INSTR()

RETURN THE INDEX OF THE FIRST OCCURRENCE OF SUBSTRING

LCASE()

SYNONYM FOR LOWER()

LEFT()

RETURN THE LEFTMOST NUMBER OF CHARACTERS AS SPECIFIED

LENGTH()

RETURN THE LENGTH OF A STRING IN BYTES

LOWER()

RETURN THE ARGUMENT IN LOWERCASE


LPAD()

RETURN THE STRING ARGUMENT, LEFT-PADDED WITH THE SPECIFIED STRING

LTRIM()

REMOVE LEADING SPACES

MID()

RETURN A SUBSTRING STARTING FROM THE SPECIFIED POSITION

REPLACE()

REPLACE OCCURRENCES OF A SPECIFIED STRING

REVERSE()

REVERSE THE CHARACTERS IN A STRING

RIGHT()

RETURN THE SPECIFIED RIGHTMOST NUMBER OF CHARACTERS

RPAD()

APPEND STRING THE SPECIFIED NUMBER OF TIMES

RTRIM()

REMOVE TRAILING SPACES

STRCMP()

COMPARE TWO STRINGS

SUBSTRING(), SUBSTR()

RETURN THE SUBSTRING AS SPECIFIED

TRIM()

REMOVE LEADING AND TRAILING SPACES


UCASE()

SYNONYM FOR UPPER()

UPPER()

CONVERT TO UPPERCASE

---------------------------------------------

You might also like