Sei sulla pagina 1di 6

create database madhavsql92

create table students


(
sid int,
sname varchar(20),
sage tinyint,
joindata datetime,
fees money
)

--Note: list out all tables in the datagase


sp_tables

-- to see the structure of the table

sp_help tablename
sp_help students

--DML OIPERATIONS WITH TABLE-


---------------------------------
--DATA MANIPULATION LANGUAGE(DML)
--1.INSERT
--2.DELETE
--3.UPDATE
--4.SELECT

--1.INSERT:
----------
--TO INSERT A ROW INTO TABLE
--SYN:INSERT INTO TABLENAME(COLNAMES)VALUES(LIST OF VALUES)
--HERE INTO IS OPTIONAL

--NUMERIC->10 OR 3.5(DIRECT PROVIDE)


--STRING/DATETIME->'HELLO'
-->'6/7/2005'(MM/DD/YYYY) THESE TWO DATATYPES WRITE IN
SINGLE CODE
insert students values(10,'balu',24,'7/6/2005',1000)

insert students(sid,sname,fees)values(20,'kumar','1000')

insert students(sid,sage,fees)values(30,26,1000)

select * from students

--to insert null values explicitly


insert students values(40,null,null,'5/4/2006',null)

--DELETE:-
----------
--TO DELETE ONE OR MORE ROWS FROM A TABLE
--SYN:-DELETE FROM TABLENAME WHERE<CONDITION>
--IF NO CONDITION PROVIDE ALL THE ROWS WILL BE DELETED

--EX:
DELETE FROM STUDENTS WHERE SID=20
DELETE FROM STUDENTS WHERE SAGE>22
DELETE FROM STUDENTS WHERE SNAME='RAJU'
--UPDATE:
---------
--UPDATE STATEMENT USED TO MODIFY EXISTING ROWS OF A TABLE
--SYN:-UPDAT TABLENAME SET COLNAME=NEWVALUE,COLNAME=NEWVALUE,...WHERE <CONDITION>

--IF NO CONDITION IS PROVIDED ALL THE ROWS WILL BE MODIFIED

--EX:
UPDATE STUDENTS SET FEES=1500
UPDATE STUDENTS SET SAGE=27 WHERE SID=20
UPDATE STUDENTS SET SNAME='HARI',JOINDATA='5/4/2005' WHERE SID=30

--SELECT STATEMENT-
------------------
--SELECT STATEMENT IS USED TO RETRIEVE THE DATA FROM TABLES.GENERALLY SELECT
STATEMENT IS KNOWN AS "QUERY"
--SYN:-SELECT OR COLUMNNAMES FROM TABLENAMES WHERE GROUPBY COLNAMES HAVING CONDTION
ORDE BY COLUMNNAME[ASC|DESC]
-- *-> IT DISPLAY ALL STUDENTS INFORMATION
SELECT * FROM STUDENTS
--DISPLAY STUDENTS INFORMATION WHOSE AGE IS MORETHAN 25
SELECT * FROM STUDENTS WHERE SAGE>25

--DISPLAY ALL STUDENT ID'S,STUDENT NAMES

SELECT SID,SNAME FROM STUDENTS WHERE SAGE>25

--DISPLAY ALL STUDENTS INFORMATION

SELECT SNAME FROM STUDENTS

--NULL:-
-------
--NULL IS NOTHING BUT UNKNOWN VALUE OR UN-DEFINED VALUE,NULL CAN INSERT ANY TYPE OF
COLUMN.
--TO COMPARE WITH NULL VALUES WE HAVE TO USE "IS" OPERATOR
--DISPLAY STUDENTS INFORMATION WHERE NAME IS UNKNOWN
SELECT * FROM STUDENTS WHERE SNAME IS NULL
--DELETE THE STUDENTS WHOSE AGE IS UNKNOWN
DELETE FROM STUDENTS WHERE SAGE IS NULL

--DATA INTEGRITY--
------------------
-- THE CONCEPT OF EXECUTING BUSINESS RULES INTO DATABASE TABLE IS CALLED DATA
INTEGRITY
--DATA INTEGRITY TWO TYPES
--1.PREDEFINED INTEGRITY:-ACHIEVED WITH CONSTRAINTS
--2.USER DEFINED INTEGRITY:-ACHIEVED WITH TRIGGERS

--PRE-DEFINED INTEGRITY:-
-------------------------
--IT CAN BE IMPLEMENTED WITH THE HELP OF CONSTRAINTS,CONSTRAIN IS NOTHING BUT A
CONDITION .W
--WE HAVE THREE SUB-TYPES UNDER PRE-DEFINED DATA INTEGRITY
--I.ENTITY INTEGRITY
--II.DOMAIN INTEGRITY
--III.REFERANTIAL INTEGRITY
--1.ENTITY INTEGRITY:-
---------------------
--ENTITY INTEGRITY CAN BE IMPLEMENTED WITH PRIMARY KEY,UNIQUE CONSTRAINTS

--ENTITY->ROW(TUPLE)
--ENTITY SET->(COLLECTION OF ROWS)TABLE

PRIMARY KEY:-
-----------
A table typically has a column or combination of columns that contain values that
uniquely identify each row in the table. This column, or columns, is called the
primary key (PK) of the table and enforces the entity integrity of the table. You
can create a primary key by defining a PRIMARY KEY constraint when you create or
modify a table.

A table can have only one PRIMARY KEY constraint, and a column that participates in
the PRIMARY KEY constraint cannot accept null values. Because PRIMARY KEY
constraints guarantee unique data, they are frequently defined on an identity
column.

When you specify a PRIMARY KEY constraint for a table, the SQL Server 2005 Database
Engine enforces data uniqueness by creating a unique index for the primary key
columns. This index also permits fast access to data when the primary key is used
in queries. Therefore, the primary keys that are chosen must follow the rules for
creating unique indexes.

If a PRIMARY KEY constraint is defined on more than one column, values may be
duplicated within one column, but each combination of values from all the columns
in the PRIMARY KEY constraint definition must be unique.

As shown in the following illustration, the ProductID and VendorID columns in the
Purchasing.ProductVendor table form a composite PRIMARY KEY constraint for this
table. This makes sure that that the combination of ProductID and VendorID is
unique.

When you work with joins, PRIMARY KEY constraints relate one table to another. For
example, to determine which vendors supply which products, you can use a three-way
join between the Purchasing.Vendor table, the Production.Product table, and the
Purchasing.ProductVendor table. Because ProductVendor contains both the ProductID
and VendorID columns, both the Product table and the Vendor table can be accessed
by their relationship to ProductVendor.

DOMAIN INTEGRITY:-
------------------
DOMAIN INTEGRITY IS NOTHING BUT LIST OF POSSIBLE VALUES IN A COLUMN.IT CAN BE
IMPLEMENTED WITH THE HELP OF
1.NOT NULL:-TO RESTRICT NULL VALUES IN A COLUMN
SYN:-COLUMNNAME DATATYPE NOT NULL
2.DEFAULT:-TO INSERT DEFAULT VALUES IN A COLUMN
EX:-SAGE TINYINT DEFAULT 25
3.CHECK:-CHECK CONSTRAINT USED TO CHECK THE VALUES INA COLUMN WITH USERDEFINED
CONDITION
SYN:-COLUMNNAME DATATYPE CHECK(EXPRESSION)
EX:-FEES MONEY CHECK(FEES>0)
GENDER CHAR(1) CHECK(GENDER='M' OR GENDER='F')

EX:-CREATE A TABLE TO STORE STUDENTS INFORMATION WITH CONSTRAINTS


CREATE TABLE STUDENTS1
(
SID INT PRIMARY KEY,
SNAME VARCHAR(20) UNIQUE NOT NULL,
SAGE TINYINT DEFAULT 25,
JOINDATE DATETIME CHECK(JOINDATE>=GETDATE()),
FEES MONEY NOT NULL
)

INSERT INTO STUDENTS1


(
SID,
SNAME,
JOINDATE,
FEES
)VALUES(10,'RAVI',GETDATE(),1000)

SELECT * FROM STUDENTS1

COMPOSIT PRIMARY KEY:


---------------------
PRIMARY KEY CONSTRUCTED WITH MULTIPLE COLUMNS CAN BE CALLED AS COMPOSIT PRIMARY KEY
MAX.NO.OF COLUMNS INCLUDED IN COMPOSIT PRIMARY KEY IS 16
COMPOSIT PRIMARY KEY ALWAYS DEFINED AT THE END OF ALL COLUMNS DEFINATION

EX:-
CREATE TABLE DEMO
(
COL1 INT,
COL2 CHAR(10),
COL3 DATETIME,
COL4 MONEY,
PRIMARY KEY(COL1,COL2)
)
IN COMPOSIT PRIMARY KEY EACH COLUMNS ALLOW DUPLICATE BUT DUPLICATE COMBINATION NOT
ALLOWED

REFERENTIAL INTEGRITY:-
----------------------
IT IS NOTHING BUT MAINTAINING RELATION SHIP AMONG THE TABLES
.FOREIGN CONSTRAINT USED TO IMPLEMENT
REFERENTIAL INTEGRITY WE HAVE THREE TYPES OF REFERENTIAL INTEGRITY

1.ONE TO ONE RELATION SHIP


2.ONE TO MANY RELATION SHIP
3.MANY TO MANY RELATION SHIP

FOREIGN KEY:-
-------------
FOREIGNKEY IS NOTHING BUT A COLUMN REFERENCING VALUES FROM OTHER TABLE PRIMARY
KEY.A TABLE CAN HAVE MAXIMUM 253 FOREIGN KEYS
FOREIGN KEY COLUMN NAME(RECOMMONDED) AND DATATYPE SHOULD BE SAME AS AS PRIMARY KEY
COLUMN.
FOREIGN KEY COLUMN ALLOWS DUPLICATE AS WELL AS NULL VALES BY DEFAULT

SYN:-COLUMNNAME DATATYPE FOREIGN KEY REFERENCES OTHERTABLE(PKCOLUMN)

ONE TO ONE RELATION SHIP:-


--------------------------
A ROW IN ONE TABLE ASSOCIATED WITH ONLY ONE ROW IN ANOTHER TABLE IS CALLED ONE TO
ONE RELATIONSHIP

EX:- CREATE EMP,PHONE TABLES AND MAINTAINE ONE TO ONE RELATION SHIP

CREATE TABLE EMP(EMPNO INT PRIMARY KEY,EMPNAME VARCHAR(20))


CREATE TABLE PHONE(EMPNO INT FOREIGN KEY REFERENCES EMP(EMPNO),PHONENO
CHAR(10),PRIMARY KEY(EMPNO))

*****TEST IT****
----------------
INSERT PHONE VALUES(10,'9951123588')
INSERT PHONE VALUES(20,'9885074732')
INSERT PHONE VALUES(30,'9394886560')

ONE TOMANY RELATIONSHIP:-


-------------------------
A ROW IN ONE TABLE ASSOCIATED WTIH MANY ROWS IN ANOTHER TABLE IS CALED ONE TO MANY
TO MANY RELATIONSHIP
EX:-CREATE DEPT,EMPLOYEES TABLE AND MAINTAINE ONE TO MANY RELATIONSHIP

CREATE TABLE DEPT


(
DEPTNO INT PRIMARY KEY,
DNAME VARCHAR(20),
DLOC VARCHAR(15)
)
CREATE TABLE EMPLOYEES
(
EMPNO INT PRIMARY KEY,
EMPNAME VARCHAR(20),
JOB VARCHAR(15),
SAL MONEY,
HIREDDATE DATETIME,
DEPTNO INT FOREIGN KEY REFERENCES DEPT(DEPTNO)
)

MANY TO MANY RELATION SHIP:-


----------------------------
MANY ROWS IN ONE TABLE ASSOCIATED WITH MANY ROWS IN ANOTHER TABLE IS CALLED MANY TO
MANY RELATION SHIP
IT WILL BGE ESTABLISHED WITH THE HELP OF LINKING TABLE
NOTE:-LINKING TABLE HAVE MULTIPLE FOREIGN KEYS AND COMPOSIT PRIMARY KEYS

EX:-CREATE AUTHORS,BOOKS TABLE AND MAINTAINE MANY TO MANY RELATION SHIP

CREATE TABLE AUTHORS


(
AUID INT PRIMARY KEY,
AUNAME VARCHAR(20)
)
CREATE TABLE BOOKS
(
BOOKID CHAR(3) PRIMARY KEY,
TITLE VARCHAR(25)
)
--LINKING TABLE
CREATE TABLE AUTHORSBOOKS
(
AUID INT FOREIGN KEY REFERENCES AUTHORS(AUID),
BOOKID CHAR(3)FOREIGN KEY REFERENCES BOOKS(BOOKID),
NUMOFPAGES SMALLINT PRIMARY KEY(AUID,BOOKID)
)

Potrebbero piacerti anche