Professional Documents
Culture Documents
DATABASES
DATABASES
---------------------------------------------
2. IDENTIFY WHAT SPECIFIC OBJECTS IN THAT PART OF THE WORLD'S DATA ARE OF
INTREST
SOFTWARE THAT HELPS TO MANAGING DATA IN SUCH A DATABASE. DBMS IS A SYSTEM THAT
ALLOWS INSERTING, UPDATING, DELETING, AND PROCESSING OF DATA.
---------------------------------------------
---------------------------------------------
=>FEATURES OF 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.
---------------------------------------------
=>FEATURES OF RDBMS.
C. OBJECT LEVEL.
---------------------------------------------
---------------------------------------------
=>DBMS
FIELD,
RECORD,
FILE,
=> RDBMS
COLUMN, ATTRIBUTES,ENTITY.
ROW,TUPLE.
TABLE,RELATION,ENTITY CLASS.
--------------------------------------------
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.
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
---------------------------------------------
---------------------------------------------
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.
EXAMPLE : AGE, AND IT�S VALUE IS DERIVED FROM THE STORED ATTRIBUTE DATE OF
BIRTH.
COMPLEX ATTRIBUTE
---------------------------------------------
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
---------------------------------------------
� STRONG ENTITIES
� WEAK ENTITIES
� RECURSIVE ENTITIES
� COMPOSITE ENTITIES
---------------------------------------------
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.
==>RECURSIVE ENTITY
==>COMPOSITE ENTITIES
=============================================
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.
---------------------------------------------
1. I/O CONSTRAINTS.
--------------------------------------------
UNIQUE,CHECK,NOT NULL
---------------------------------------------
1. PRIMARY KEY IS A COLUMN OR A SET OF COLUMN THAT UNIQUELY IDENTIFY A ROW. ITS
MAIN PURPOSE IS THE RECORD UNIQUENESS.
5. PRIMARY KEY HELPS TO IDENTIFY ONE RECORD FROM ANOTHER RECORD AND ALSO HELPS
IN RELATING TABLES WITH ONE ANOTHER.
---------------------------------------------
---------------------------------------------
1. FOREIGN KEY IS A COLUMN THAT REFRENCES A COLUMNS OF A TABLE AND IT CAN BE THE
SAME TABLE ALSO.
=============================================
=> NORMALIZATION.
---------------------------------------------
-------------------------------------------------------------------------
4E2. ELIMINATES ANY RELATIONSHIPS IN WHICH TABLE DATA DOES FULLY DEPEND UPON
THE PRIMARY KEY OF RECORD.
-------------------------------------------------------------------------
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.
TABLE: EMPPROJ
PROJECT NUMBER -- --
PROJECT NAME -- --
-------------------------------------------------------------------------
1. THE PROJECT NAME IN THE SECOND RECORD IS MISSPELLED. THIS CAN BE SOLVED BY
REMOVING DUPLICATES.
-------------------------------------------------------------------------
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.
1. FIND AND REMOVE FIELDS THAT ARE RELATED TO THE ONLY PART OF THE KEY.
3. ASSIGN THE NEW TABLE WITH THE KEY. ITS PART OF A WHOLE COMPOSITE KEY.
TABLE: EMPPROJ
FIELD KEY TYPE
TABLE: EMP
EMPLOYEE NAME -- --
RATE CATEGORY -- --
HOURLY RATE -- --
TABLE: PROJ
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.
IF C IS RELATED TO B.
IF B IS RELATED TO A.
TABLE: EMPPROJ
TABLE: EMP
EMPLOYEE NAME -- --
RATE CATEGORY -- --
TABLE: RATE
HOURLY RATE -- --
TABLE: PROJ
PROJECT NAME. -- --
-------------------------------------------------------------------------
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.
=========================================================================
1. ORACLE.
2. MS-SQL SERVER.
3. DB2.
4. MYSQL
5. SYBASE.
6. INGRES.
=========================================================================
=> ABOUT ORACLE HISTORY.
-> 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.
-> ORACLE 11G ASM-> AUTOMATIC STORAGE MANAGEMENT FLASH BACK UP TABLES.
-------------------------------------------------------------------------
ORACLE SUPPORTS BOTH TWO TIER (LEVEL) AND THREE TIER ARCHITECTURES. THE MEANING
OF THESE TWO TIER ARCHITECTURES ARE GIVEN AS FOLLOWS.
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.
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.
==============================================================
=>SQL(STRUCTURE QUERY LANGUAGE)
-------------------------------------------------------------
3. IT REDUCES THE AMOUNT OF TIME REQUIRED FOR CREATING AND MAINTAINING SYSTEMS.
4. IT IS AN ENGLISH-LIKE LANGUAGE.
A. QUERYING DATA.
----------------------------------------------------------
1. SQL STARTS WITH A VERB(SQL ACTION WORD) EXAMPLE: SELECT STATEMENTS. THIS VERB
MAY HAVE ADDITIONAL ADJECTIVES. EXAMPLE: FROM
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,
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.
----------------------------------------------------------
DELIMITERS ARE SYMBOLS OR COMPOUND SYMBOLS, WHICH HAVE A SPECIAL MEANING WITHIN
SQL AND PL/SQL STATEMENTS.
'+' - ADDITION.
'-' - SUBTRACTION.
'*' - MULTIPLICATION.
'/' - DIVISION
'=><' - RELATIONAL
';' - TERMINATOR
'**' - EXPONENTIAL
':=' - ASSIGNMENT
'=>' - ASSOCIATION
'||' - CONCATENATION
'<<' - LABEL
'>>' - LABEL
'--' - COMMENT
---------------------------------------------
EXAMPLES:
D. TRUNCATE : REMOVE ALL RECORDS FROM A TABLE, INCLUDING ALL SPACES ALLOCATED
FOR THE RECORDS ARE REMOVED.
2. DML (DATA MANIPULATION LANGUAGES). IT IS THE AREA OF SQL THAT ALLOWS CHANGING
DATA WITHIN THE DATABASE.
EXAMPLES:
C. DELETE: DELETES ALL RECORDS FROM A TABLE, THE SPACE FOR THE RECORDS REMAIN.
EXAMPLES:
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:
---------------------------------------------
DDL COMMANDS:
CREATE TABLE :
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:
);
---------------------------------------------
---------------------------------------------
EXAMPLE 1:
EXAMPLE 2:
---------------------------------------------
---------------------------------------------
SYNTAX:
TO DELETE A COLUMN IN A TABLE, USE THE FOLLOWING SYNTAX (NOTICE THAT SOME
DATABASE SYSTEMS DON'T ALLOW DELETING A COLUMN):
RENAMING TABLE:
EXAMPLE 1(ADD):
EXAMPLE 2(DELETE):
EXAMPLE 3(ALTER)
---------------------------------------------
---------------------------------------------
SYNTAX:
---------------------------------------------
UPDATE:THE UPDATE STATEMENT IS USED TO UPDATE EXISTING RECORDS IN A TABLE.
---------------------------------------------
SYNTAX:
UPDATE <TABLE_NAME>
WHERE <SOME_COLUMN=SOME_VALUE>
EXAMPLE:
UPDATE EMPLOYEES
---------------------------------------------
--------------------------------------------
SYNTAX:
WHERE SOME_COLUMN=SOME_VALUE
EXAMPLE:
---------------------------------------------
DATA MINNING.
---------------------------------------------
DATA WAREHOUSE
---------------------------------------------
--------------------------------------------------------
DATA DICTIONARY
---------------------------------------------
------------------------------------------------
DATA MODELS
---------------------------------------------
---------------------------------------------
---------------------------------------------
RELATIONAL MODELS
---------------------------------------------
--------------------------------------------
NETWORK MODEL
---------------------------------------------
---------------------------------------------
HIERARCHICAL MODEL
---------------------------------------------
---------------------------------------------
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.
� ACTIVITIES
� ACTORS
� BUSINESS PROCESSES
� DATABASE SCHEMAS
� (LOGICAL) 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
---------------------------------------------
---------------------------------------------
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:
4. MANY-TO-MANY: ENTITES IN A AND B ARE ASSOCIATED WITH ANY NUMBER FROM EACH
OTHER.
---------------------------------------------
DEGREE OF RELATIONSHIPS:
---------------------------------------------
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.
---------------------------------------------
---------------------------------------------
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.
� REPEAT AS NECESSARY.
---------------------------------------------
DQL STATMENT
---------------------------------------------
SELECT:
------------------------
----------------------------
SYNTAX:
AND
------------------------------------
-------------------------------------
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
FROM <TABLE_NAME>;
EXAMPLE:
----------------------------------
SELECT WITH WHERE CLAUSE
------------------------------
SYNTAX
SELECT <column_name(s)>
FROM <table_name>
EXAMPLE:
This is correct:
This is wrong:
EXAMPLE:
This is correct:
This is wrong:
---------------------------------------------------
-----------------------------------
SYNTAX:
SELECT <column_name(s)>
FROM <table_name>
---------------------------------------------
GROUP BY <column_name>;
EXAMPLE:
GROUP BY Customer;
---------------------------------------------
---------------------------------------------
EXAMPLE:
---------------------------------------------
---------------------------------------------
EXAMPLE:
---------------------------------------------
SYNTAX:
EXAMPLE:
---------------------------------------------
---------------------------------------------
SQL WILDCARDS
---------------------------------------------
SQL WILDCARDS CAN SUBSTITUTE FOR ONE OR MORE CHARACTERS WHEN SEARCHING FOR DATA
IN A DATABASE.
---------------------------------------------
WILDCARD DESCRIPTION
[^CHARLIST]
OR
---------------------------------------------
---------------------------------------------
LIKE %
SYNTAX:
*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:
-------------------------------------------------
WE WANT TO SELECT THE PERSONS WITH A FIRST NAME THAT STARTS WITH ANY CHARACTER,
FOLLOWED BY "LA" FROM THE "PERSONS" TABLE.
SYNTAX:
---------------------------------------------
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:
---------------------------------------------
WE WANT TO SELECT THE PERSONS WITH A LAST NAME THAT STARTS WITH "B" OR "S" OR
"P" FROM THE "PERSONS" TABLE.
SYNTAX:
---------------------------------------------
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:
---------------------------------------------
SUB QUERIES:
---------------------------------------------
---------------------------------------------
--------------------------------------------
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:
UNION
---------------------------------------------
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:
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:
INTERSECT
---------------------------------------------
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:
MINUS
---------------------------------------------
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.
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.
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.
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.
________________________________________
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
---------------------------------
---------------------------------------------
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
ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME
________________________________________
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15
EXAMPLE:
FROM PERSONS
ON PERSONS.P_ID=ORDERS.P_ID
ORDER BY PERSONS.LASTNAME
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.
---------------------------------------------
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).
SELECT COLUMN_NAME(S)
FROM TABLE_NAME1
ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME
________________________________________
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.
FROM PERSONS
ON PERSONS.P_ID=ORDERS.P_ID
ORDER BY PERSONS.LASTNAME;
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).
---------------------------------------------
---------------------------------------------
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
ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME
________________________________________
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.
FROM PERSONS
ON PERSONS.P_ID=ORDERS.P_ID
ORDER BY PERSONS.LASTNAME
THE RESULT-SET WILL LOOK LIKE THIS:
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).
---------------------------------------------
THE FULL JOIN KEYWORD RETURN ROWS WHEN THERE IS A MATCH IN ONE OF THE TABLES.
SELECT COLUMN_NAME(S)
FROM TABLE_NAME1
ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME
________________________________________
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.
FROM PERSONS
ON PERSONS.P_ID=ORDERS.P_ID
ORDER BY PERSONS.LASTNAME
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 SCALAR FUNCTIONS RETURN A SINGLE VALUE, BASED ON THE INPUT VALUE.
---------------------------------------------
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()
CHARACTER_LENGTH()
CONCAT_WS()
CONCAT()
CONV()
INSTR()
LCASE()
LEFT()
LENGTH()
LOWER()
LTRIM()
MID()
REPLACE()
REVERSE()
RIGHT()
RPAD()
RTRIM()
STRCMP()
SUBSTRING(), SUBSTR()
TRIM()
UPPER()
CONVERT TO UPPERCASE
---------------------------------------------