0% found this document useful (0 votes)
2 views

11. Database Concept

The document provides an overview of database concepts, focusing on Database Management Systems (DBMS) and relational database models. It explains the structure of tables, the importance of keys, and the concept of referential integrity, along with a brief history of MySQL and its features. Additionally, it covers SQL processing capabilities, including Data Definition Language (DDL), Data Manipulation Language (DML), and Transaction Control Language (TCL).

Uploaded by

adityarajeevnair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

11. Database Concept

The document provides an overview of database concepts, focusing on Database Management Systems (DBMS) and relational database models. It explains the structure of tables, the importance of keys, and the concept of referential integrity, along with a brief history of MySQL and its features. Additionally, it covers SQL processing capabilities, including Data Definition Language (DDL), Data Manipulation Language (DML), and Transaction Control Language (TCL).

Uploaded by

adityarajeevnair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

DATABASE CONCEPTS

DATABASE

 May be defined as a collection of


interrelated data stored together to serve
multiple application
 It is computer based record keeping system.
 It notonly allows to store but also
allows us modification of data as per
requirements.
DBMS

A DBMS refers to Database Management System

 It is a software that is responsible for storing,


manipulating, maintaining and utilizing database.

A database along with the a DBMS is referred to


as a database system.

 There are various DBMS software available in the


market like :-

 Oracle, MS SQL Server, MySQL, Sybase,


PostgreSQL, SQLite
PURPOSE OF DBMS
RELATIONAL DATABASE MODEL

 In relational database model data is organized into table (i.e. rows


and columns).

 These tables are also known as relations.

 A row in a table represent relationship among a set of values.

 A column represent the field/attributes related to relation under


which information will be stored.

 For example if we want to store details of students then : Roll,


Name, Class, Section, etc. will be the column/attributes and the
collection of all the column information will become a Row/Record
SAMPLE
EMPLOYEE
TABLES
EMPNO ENAME GENDER DEPTNO SALARY COMM
1 ANKITA F 10 20000 1200
2 SUJEET M 20 24000
3 VIJAYA F 10 28000 2000
4 NITIN M 30 18000 3000
5 VIKRAM M 30 22000 1700

DEPARTMENT
DEPTNO DNAME LOCATION
10 HR NEW YORK
20 ACCOUNTS BRAZIL
30 SALES CANADA
40 IT INDIA
COMPONENT OF A TABLE
 Byte : group of 8 bits and is used to store a
character.
 Data Item : smallest unit of named data. It
represent one type of information
and often referred to as a field or
column information
 Record : collection of data items which
represent a complete unit of
information
 Table : collection of all Rows and Columns.
Fields Table

DEPTNO DNAME LOCATION


10 HR NEW YORK
20 ACCOUNTS BRAZIL
30 SALES CANADA
40 IT INDIA

Data Items (requires 5 bytes)


Records
COMMON RDBMS
 Oracle, MS SQL Server, MySQL, IBM DB2, IBM
Informix, SAP Sybase, Adaptive Server
Enterprise, SAP Sybase IQ, Teradata,
PostgreSQL, SQLite, etc.
 Out of these MySQL, PostgreSQL and SQLite are
Open source implementation.
COMMON RDBMS
 MySQL

 Runs on virtually all platforms including Linux, Unix and Windows.


Popular for web based application and online publishing. It is a part of
LAMP (Linux, Apache, MySQL, PHP) stack

 SQLite

 Relational DBMS but it is not client-server database engine rather, it is


embedded into end program. Arguably the most widely deployed
database engine as it is used by several browsers, OS and embedded
systems(Mobiles).

 PostgreSQL

 General purpose object-relational DBMS. It is the most advanced open


source database system. It is free and open source i.e. source code is
available under PostgreSQL license, a liberal open source license.
COMMON DBMS TOOLS FOR
MOBILE DEVICES

 SQL Anywhere, DB2 Everywhere, IBM Mobile


Database, SQL Server Compact, SQL Server
Express, Oracle DatabaseLite, SQLite, SQLBase
etc.

 Out of these SQLite is public domain open source


implementation
JUST A MINUTE…
BOOKCODE BOOKNAME PUB PRICE
B001 LET US C BPB 400
B002 VISUAL EEE 350
BASIC
B003 JAVA PHI 550
B004 VC++ BPB 750

Identify the following in the above table

1) Degree of Table
2) Cardinality of Table
3) Attributes of Table
4) Tuple
5) Data types of Book Code and Price (as studied in Python)
CONCEPT OF KEYS
EMPNO ENAME GENDER DEPTNO SALARY COMM
1 ANKITA F 10 20000 1200
2 SUJEET M 20 24000
3 VIJAYA F 10 28000 2000
4 NITIN M 30 18000 3000
5 VIKRAM M 30 22000 1700

In relation each record must be unique i.e. no two identical


records are allowed in the Database. A key attribute identifies the
record and must have unique values. There are various types of
Keys:

Primary Key, Candidate Key, Alternate Key


and Foreign Key.
KEYS
 Primary Key

 A set of one or more attribute that can identify a record


uniquely in the relation is called Primary Key.

 There can be only 1 primary key in a table

 Allows only distinct (no duplicate) values and also forces mandatory entry
(NOT NULL) i.e. we cannot left it blank.

 Candidate Key
 In a table there can be more than one attribute which contains unique
values. These columns are known as candidate key as they are the
candidate for primary key.

 Among these database analyst select one as a primary key based on


requirement like must contain unique value, compulsory entry and where
maximum searching is done etc.
KEYS
 Alternate Key
 In case of multiple candidate keys, one of them will be selected as
Primary Key and rest of the column will serve as Alternate Key

 A Candidate Key which is not a primary key is an Alternate Key.

 Foreign key
 Used to create relationship between two tables.

 It is a non-key attribute whose value is derived from the Primary key


of another table.

 Foreign key column will for the value in Primary key of another table,
if present then entry will be allowed otherwise data will be rejected.

 Primary Key column table from where values will be derived is known
as Primary Table or Master Table or Parent Table and Foreign key
column table will be Foreign Table or Detail Table or Child table
EMPLOYEE
EMPNO ENAME GENDER DEPTNO SALARY COMM
Child
1 ANKITA F 10 20000 1200 Table
2 SUJEET M 20 24000
3 VIJAYA F 10 28000 2000
4 NITIN M 30 18000 3000
5 VIKRAM M 30 22000 1700

DEPARTMENT
Parent
DEPTNO DNAME LOCATION
Table
10 HR NEW YORK
20 ACCOUNTS BRAZIL
30 SALES CANADA
40 IT INDIA

From the Above table definition we can observe that the DEPTNO
column of EMPLOYEE table is deriving its value from DEPTNO of table
DEPARTMENT. So we can say that the DEPTNO of EMPLOYEE table
is a foreign key whose value is dependent upon the Primary key column
DEPTNO of table DEPARTMENT.
REFERENTIAL INTEGRITY

 Used to ensure relationship between records in related tables


are valid and user don’t accidentally delete or change the
related data.

 Referential integrity can be applied when:


 The master table’s column is a Primary Key or has a
unique index

 The related fields have the same data type

 Both tables must belong to same database.


REFERENTIAL INTEGRITY
 When referential integrity is enforced using
Foreign Key you must observe the following
rules:

 You cannot enter a value in Child Table which is not available in


Master Table’s Primary key column. However you can enter NULL
values in foreign key

 You cannot delete a record from Master Table if matching record


exists in related table

 You cannot modify or change the Primary Key value in Master table
if its matching record is present in related table.
BRIEF HISTORY OF MYSQL
 MySQL is freely available open source RDBMS

 Can be downloaded from www.mysql.org

 In MySQL information is stored in Tables.

 Provides features that support secure environment for storing,


maintaining and accessing data.

 It is fast, reliable, scalable alternative to many of the


commercial RDBMS today.

 Create and supported by MySQL AB, a company based in Sweden.


This company is now subsidiary of Sun Microsystems. On April 2009
Oracle Corp. acquires Sun Microsystems.

 The chief inventor of MySQL was Michael Widenius(a.k.a Monty).


MySQL has been named after Monty’s daughter My. The logo of MySQL
is dolphin and name of that dolphin is ‘Sakila’
MYSQL DATABASE SYSTEM

 MySQL database system refers to the combination of a


MySQL server instance and MySQL database.

 It operates using Client/Server architecture in which the


server runs on the machine containing the database and
client connects to server over a network

 MySQL is a multiuser database system, meaning several


users can access the database simultaneously
MYSQL DATABASE SYSTEM
 The Server
 Listens for client requests coming in over the
network and access the database as per the
requirements and provide the requested information
to the Client
 The Client
 Are the programs that connect to MySQL server and
sends requests to the server and receives the
response of Server. Client may be the MySQL prompt
or it may be Front-end programming which connect
to server programmatically like connecting to MySQL
using Python Language or Java or any other
language
FEATURES OF MYSQL

 Speed
 MySQL runs very fast.
 Ease of Use
 Can be managed from command line or GUI
 Cost
 Is available free of cost. It is Open Source
 Query language Support
 Supports SQL
 Portability
 Can be run on any platform and supported by various
compilers
 Data Types
 Supports various data types like Numbers, Char etc.
FEATURES OF MYSQL

 Security
 Offers privileges and password systems that is very flexible
and secure.

 Scalability and Limits


 Can handle large databases. Some of real life MySQL databases contains
millions of records.

 Connectivity
 Clients can connect to MySQL using drivers

 Localization
 The server can provide error message to client in many language

 Client and Tools


 Provides several client and utility programs. Like mysqldump and
mysqladmin. GUI tools like MySQL Administration and Query Browser
Enter the
password
given
STARTING MYSQL during
installation

Click on Start  All Programs  MySQL 


MySQL Server  MySQL Command Line Client
mysql> prompt
means now MySQL
is ready to take
your command
and execute

To exit from MySQL type exit or quit in front


of mysql prompt
SQL AND MYSQL
 SQL stands for Structured Query Language.

 Is a language that enables you to create and operate on


relational databases.

 MySQL uses SQL in order to access databases.

 It is the standard language used by almost all the


database s/w vendors.

 Pronounced as SEQUEL

 Original version was developed by IBM’s


Almanden Research Center

 Latest ISO standard of SQL was released in 2008 and named as


SQL:2008
PROCESSING CAPABILITIES OF SQL

 DDL (Data Definition Language)

 DML (Data Manipulation Language)

 Embedded DML

 View

 Authorization

 Integrity

 Transaction Control
DATA DEFINITION LANGUAGE

 It allows to create database objects like creating a table, view or any


other database objects.

 The information about created objects are stored in special file called
DATA DICTIONARY

 DATA DICTIONARY contains metadata i.e. data


about data.

 While creating a table DDL allows to specify – name of table,


attributes, data types of each attribute, may define range of values
that attributes can store, etc

 Major commands of DDL are – CREATE, ALTER, DROP


DATA MANIPULATION LANGUAGE

 It allows to perform following operation on table


 Retrieval of information stored in table
 Insertion of new data in table
 Modification of existing data in table
 Deletion of existing data from table

 DML is of 2 type
 Procedural DML (in this we specify what data is needed and how to
get it)
 Non-Procedural DML (in this we specify what
data is needed without specifying how to get it)

 Main DML commands are – SELECT, INSERT,


UPDATE AND DELETE
TCL COMMANDS

 Stands for Transaction Control Language

 MySQL transaction allows you to execute a set of MySQL


operations to ensure that the database never contains the result of
partial operations. In a set of operations, if one of them fails, the
rollback occurs to restore the database to its original state. For
example Transfer of money from one account to another etc.

 It follows ACID property (Atomicity, Consistency, Isolation and


Durability)

 Commands used for managing the Transaction are: COMMIT,


ROLLBACK, SAVEPOINT and SET TRANSACTION
TCL COMMANDS

 Commit
 To save the current transaction

 RollBack
 To undo/cancel the current transaction activity

 Savepoint
 To insert a Flag/Bookmark in various stages of
Transaction, so that later on we can rollback from
any given savepoint

 Set Transaction
 To specify the properties of current Transaction

 Start Transaction
 To start transaction acitivity

You might also like