SQL Server Short Notes
Announcement: CLASS NOTES & SQL SERVER PDF available.
Table of Contents
Introduction to Databases
- Database: Organized collection of interrelated data (e.g., bank, university).
- Types: OLTP (Online Transaction Processing) for daily transactions, OLAP (Online Analytical Processing) for analysis.
- CRUD Operations: Create, Read, Update, Delete.
DBMS, RDBMS, ORDBMS
DBMS (Database Management System)
- Software to create and manage databases.
- Acts as an interface between user and database.
RDBMS (Relational DBMS)
- Introduced by E.F. Codd (12 Codd rules).
- Data organized in tables (rows and columns).
- Supports primary keys, foreign keys, and relationships.
- Features: Easy access, less redundancy, security, data integrity, sharing, transactions.
ORDBMS (Object Relational DBMS)
- Combines RDBMS with OOPS concepts (reusability).
- Examples: SQL Server, Oracle, PostgreSQL.
DB Development Life Cycle
- Analysis
- Design (ER Model, Normalization)
- Development (using RDBMS tools)
- Testing (manual/automation)
- Deployment
- Maintenance
SQL Server Overview
- RDBMS software from Microsoft for database development and administration.
- Client/Server architecture: Server (SQL Server installed), Client (SSMS, etc.).
- Versions: 1.1 (1991) to 2022.
- Supports T-SQL (Transact-SQL), a Microsoft extension of SQL.
- Provides security, backup, replication, and high availability features.
Download: SQL Server & SSMS
Datatypes in SQL Server
Type | Description | Example |
---|---|---|
char(size) | Fixed-length ASCII characters (up to 8000) | char(10) |
varchar(size) | Variable-length ASCII characters (up to 8000) | varchar(10) |
varchar(max) | Variable-length, up to 2GB | varchar(max) |
nchar, nvarchar, nvarchar(max) | Unicode characters | nvarchar(20) |
tinyint, smallint, int, bigint | Integer types | int |
numeric(p,s), decimal(p,s) | Numbers with/without decimals | numeric(7,2) |
money, smallmoney | Currency types | money |
date, time, datetime | Date and/or time | date |
bit | Boolean (0 or 1) | bit |
float, real | Floating point numbers | float |
binary, varbinary | Binary data (e.g., images, files) | varbinary(max) |
SQL Commands
DDL (Data Definition Language)
CREATE
,ALTER
,DROP
,TRUNCATE
DML (Data Manipulation Language)
INSERT
,UPDATE
,DELETE
,MERGE
DQL/DRL (Data Query/Retrieval Language)
SELECT
TCL (Transaction Control Language)
COMMIT
,ROLLBACK
,SAVE TRANSACTION
DCL (Data Control Language)
GRANT
,REVOKE
Operators
- Arithmetic:
+
,-
,*
,/
,%
- Relational:
=
,!=
,<
,>
, etc. - Logical:
AND
,OR
,NOT
- Special:
IN
,BETWEEN
,LIKE
,IS NULL
Practical Examples
Creating a Table
CREATE TABLE emp ( empid SMALLINT, ename VARCHAR(10), job VARCHAR(10), sal SMALLMONEY, hiredate DATE, dept VARCHAR(10) );
Inserting Data
INSERT INTO emp VALUES (100, 'sachin', 'clerk', 4000, '2025-05-19', 'hr'); INSERT INTO emp VALUES (101, 'arvind', 'manager', 8000, GETDATE(), 'it');
Selecting Data
SELECT ename, sal FROM emp; SELECT * FROM emp WHERE sal > 5000;
Updating Data
UPDATE emp SET sal = sal + 1000 WHERE empid = 100;
Deleting Data
DELETE FROM emp WHERE empid = 100;
Altering Table
ALTER TABLE emp ADD gender CHAR(1); ALTER TABLE emp DROP COLUMN gender;
Pattern Matching
SELECT * FROM emp WHERE ename LIKE 's%'; SELECT * FROM emp WHERE ename LIKE '%a%';
Sorting and Limiting Results
SELECT TOP 5 * FROM emp ORDER BY sal DESC;
Distinct and Aggregate
SELECT DISTINCT job FROM emp; SELECT COUNT(*) FROM emp;
Normalization
- Normalization: Process of organizing data to reduce redundancy and improve data integrity.
- 1NF (First Normal Form): No repeating groups or arrays. Each cell contains atomic values.
- 2NF (Second Normal Form): 1NF + no partial dependency (every non-key attribute fully depends on primary key).
- 3NF (Third Normal Form): 2NF + no transitive dependency (non-key attributes depend only on primary key).
- BCNF (Boyce-Codd Normal Form): Stricter version of 3NF.
Tip: Normalize tables to avoid anomalies during insert, update, and delete operations.
Keys in SQL
- Primary Key: Uniquely identifies each row in a table. Cannot be NULL.
- Foreign Key: Enforces referential integrity between tables. Points to primary key in another table.
- Unique Key: Ensures all values in a column are unique (can have one NULL).
- Composite Key: Combination of two or more columns to uniquely identify a row.
- Candidate Key: Column(s) that can qualify as a primary key.
- Alternate Key: Candidate keys not chosen as primary key.
Joins
- INNER JOIN: Returns rows with matching values in both tables.
- LEFT JOIN (LEFT OUTER JOIN): Returns all rows from left table and matched rows from right table.
- RIGHT JOIN (RIGHT OUTER JOIN): Returns all rows from right table and matched rows from left table.
- FULL JOIN (FULL OUTER JOIN): Returns rows when there is a match in one of the tables.
- CROSS JOIN: Returns Cartesian product of both tables.
- SELF JOIN: Table joined with itself.
-- Example: INNER JOIN SELECT emp.ename, dept.dname FROM emp INNER JOIN dept ON emp.dept = dept.deptno;
Frequently Asked Questions
What is the difference between DELETE and TRUNCATE?
- DELETE removes rows one by one and can have a WHERE clause. It is logged and can be rolled back.
- TRUNCATE removes all rows quickly, cannot have a WHERE clause, and resets identity columns. It cannot be rolled back if outside a transaction.
What is a view in SQL Server?
A view is a virtual table based on the result of a SELECT query. It does not store data itself but provides a way to simplify complex queries and enhance security.
What is an index?
An index improves the speed of data retrieval operations on a table at the cost of additional space and slower writes. Common types: clustered and non-clustered.
What is a stored procedure?
A stored procedure is a precompiled collection of SQL statements that can be executed as a single unit. Useful for code reuse, security, and performance.
What is a transaction?
A transaction is a sequence of operations performed as a single logical unit of work. Transactions follow ACID properties (Atomicity, Consistency, Isolation, Durability).
Useful Resources
- Download SQL Server
- Download SSMS
- SQL Server 2022 Installation Guide
- Microsoft SQL Server Documentation
- SQL Server Tutorial
Tip: Use
SP_HELP <tablename>
to view table structure. Use SP_RENAME
to rename tables or columns.