Saturday, May 5, 2018

Beginners Guide to SQL and other popular Database

SQL is a language to operate databases; it includes database creation, deletion, fetching rows, modifying rows, etc. SQL is an ANSI (American National Standards Institute) standard language, but there are many different versions of the SQL language.

What is SQL?
SQL is Structured Query Language, which is a computer language for storing, manipulating and retrieving data stored in a relational database.
SQL is the standard language for Relational Database System. All the Relational Database Management Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres and SQL Server use SQL as their standard database language.

Also, they are using different dialects, such as

MS SQL Server using T-SQL,
Oracle using PL/SQL,
MS Access version of SQL is called JET SQL (native format) etc.

Why SQL?
SQL is widely popular because it offers the following advantages

Allows users to access data in the relational database management systems.

Allows users to describe the data.

Allows users to define the data in a database and manipulate that data.

Allows to embed within other languages using SQL modules, libraries & pre-compilers.

Allows users to create and drop databases and tables.

Allows users to create view, stored procedure, functions in a database.

Allows users to set permissions on tables, procedures and views.

A Brief History of SQL
1970 − Dr. Edgar F. "Ted" Codd of IBM is known as the father of relational databases. He described a relational model for databases.

1974 − Structured Query Language appeared.

1978 − IBM worked to develop Codd's ideas and released a product named System/R.

1986 − IBM developed the first prototype of relational database and standardized by ANSI. The first relational database was released by Relational Software which later came to be known as Oracle.

SQL Process
When you are executing an SQL command for any RDBMS, the system determines the best way to carry out your request and SQL engine figures out how to interpret the task.

There are various components included in this process.

These components are −

Query Dispatcher
Optimization Engines
Classic Query Engine
SQL Query Engine, etc.
A classic query engine handles all the non-SQL queries, but a SQL query engine won't handle logical files.

Following is a simple diagram showing the SQL Architecture −

SQL Architecture
SQL Commands
The standard SQL commands to interact with relational databases are CREATE, SELECT, INSERT, UPDATE, DELETE and DROP. These commands can be classified into the following groups based on their nature −

DDL - Data Definition Language
Command & Description

1 CREATE
Creates a new table, a view of a table, or other object in the database.

2 ALTER
Modifies an existing database object, such as a table.

3 DROP
Deletes an entire table, a view of a table or other objects in the database.

DML - Data Manipulation Language
Command & Description

1 SELECT
Retrieves certain records from one or more tables.

2 INSERT
Creates a record.

3 UPDATE
Modifies records.

4 DELETE
Deletes records.

DCL - Data Control Language
Command & Description

1 GRANT
Gives a privilege to user.

2 REVOKE
Takes back privileges granted from user.

There are many popular RDBMS available to work with. This tutorial gives a brief overview of some of the most popular RDBMS’s. This would help you to compare their basic features.

MySQL
MySQL is an open source SQL database, which is developed by a Swedish company – MySQL AB. MySQL is pronounced as "my ess-que-ell," in contrast with SQL, pronounced "sequel."

MySQL is supporting many different platforms including Microsoft Windows, the major Linux distributions, UNIX, and Mac OS X.

MySQL has free and paid versions, depending on its usage (non-commercial/commercial) and features. MySQL comes with a very fast, multi-threaded, multi-user and robust SQL database server.

History
Development of MySQL by Michael Widenius & David Axmark beginning in 1994.

First internal release on 23rd May 1995.

Windows Version was released on the 8th January 1998 for Windows 95 and NT.

Version 3.23: beta from June 2000, production release January 2001.

Version 4.0: beta from August 2002, production release March 2003 (unions).

Version 4.01: beta from August 2003, Jyoti adopts MySQL for database tracking.

Version 4.1: beta from June 2004, production release October 2004.

Version 5.0: beta from March 2005, production release October 2005.

Sun Microsystems acquired MySQL AB on the 26th February 2008.

Version 5.1: production release 27th November 2008.

Features
High Performance.
High Availability.
Scalability and Flexibility Run anything.
Robust Transactional Support.
Web and Data Warehouse Strengths.
Strong Data Protection.
Comprehensive Application Development.
Management Ease.
Open Source Freedom and 24 x 7 Support.
Lowest Total Cost of Ownership.

MS SQL Server
MS SQL Server is a Relational Database Management System developed by Microsoft Inc. Its primary query languages are:
T-SQL
ANSI SQL

1987 - Sybase releases SQL Server for UNIX.

1988 - Microsoft, Sybase, and Aston-Tate port SQL Server to OS/2.

1989 - Microsoft, Sybase, and Aston-Tate release SQL Server 1.0 for OS/2.

1990 - SQL Server 1.1 is released with support for Windows 3.0 clients.

Aston - Tate drops out of SQL Server development.

2000 - Microsoft releases SQL Server 2000.

2001 - Microsoft releases XML for SQL Server Web Release 1 (download).

2002 - Microsoft releases SQLXML 2.0 (renamed from XML for SQL Server).

2002 - Microsoft releases SQLXML 3.0.

2005 - Microsoft releases SQL Server 2005 on November 7th, 2005.

Features
High Performance
High Availability
Database mirroring
Database snapshots
CLR integration
Service Broker
DDL triggers
Ranking functions
Row version-based isolation levels
XML integration
TRY...CATCH
Database Mail

ORACLE
It is a very large multi-user based database management system. Oracle is a relational database management system developed by 'Oracle Corporation'.

Oracle works to efficiently manage its resources, a database of information among the multiple clients requesting and sending data in the network.

It is an excellent database server choice for client/server computing. Oracle supports all major operating systems for both clients and servers, including MSDOS, NetWare, UnixWare, OS/2 and most UNIX flavors.

History
Oracle began in 1977 and celebrating its 32 wonderful years in the industry (from 1977 to 2009).

1977 - Larry Ellison, Bob Miner and Ed Oates founded Software Development Laboratories to undertake development work.

1979 - Version 2.0 of Oracle was released and it became first commercial relational database and first SQL database. The company changed its name to Relational Software Inc. (RSI).

1981 - RSI started developing tools for Oracle.

1982 - RSI was renamed to Oracle Corporation.

1983 - Oracle released version 3.0, rewritten in C language and ran on multiple platforms.

1984 - Oracle version 4.0 was released. It contained features like concurrency control - multi-version read consistency, etc.

1985 - Oracle version 4.0 was released. It contained features like concurrency control - multi-version read consistency, etc.

2007 - Oracle released Oracle11g. The new version focused on better partitioning, easy migration, etc.

Features
Concurrency
Read Consistency
Locking Mechanisms
Quiesce Database
Portability
Self-managing database
SQL*Plus
ASM
Scheduler
Resource Manager
Data Warehousing
Materialized views
Bitmap indexes
Table compression
Parallel Execution
Analytic SQL
Data mining
Partitioning

MS ACCESS
This is one of the most popular Microsoft products. Microsoft Access is an entry-level database management software. MS Access database is not only inexpensive but also a powerful database for small-scale projects.

MS Access uses the Jet database engine, which utilizes a specific SQL language dialect (sometimes referred to as Jet SQL).

MS Access comes with the professional edition of MS Office package. MS Access has easyto-use intuitive graphical interface.

1992 - Access version 1.0 was released.

1993 - Access 1.1 released to improve compatibility with inclusion the Access Basic programming language.

The most significant transition was from Access 97 to Access 2000.

2007 - Access 2007, a new database format was introduced ACCDB which supports complex data types such as multi valued and attachment fields.

Features
Users can create tables, queries, forms and reports and connect them together with macros.

Option of importing and exporting the data to many formats including Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, etc.

There is also the Jet Database format (MDB or ACCDB in Access 2007), which can contain the application and data in one file. This makes it very convenient to distribute the entire application to another user, who can run it in disconnected environments.

Microsoft Access offers parameterized queries. These queries and Access tables can be referenced from other programs like VB6 and .NET through DAO or ADO.

The desktop editions of Microsoft SQL Server can be used with Access as an alternative to the Jet Database Engine.

Microsoft Access is a file server-based database. Unlike the client-server relational database management systems (RDBMS), Microsoft Access does not implement database triggers, stored procedures or transaction logging.

0 comments:

Post a Comment