Database management system

Download Report

Transcript Database management system

Sayed Ahmed
Computer Engineering, BUET, Bangladesh
MSc, Computer Science, U of Manitoba, Canada
Owner/President/Architect/Developer
Justetc (Just et cetera) Technologies
http://www.justetc.net
http://sayed.justetc.net
[email protected]
Free Training by Justetc

Training and Education in Bangla:
 http://Bangla.SaLearningSchool.com
 http://Blog. SaLearningSchool.com

Training and Education in English:
 http://www.SaLearningSchool.com
 http://English.SaLearningSchool.com
 http://www.SitesTree.com
-------------------------------------------------------------------------------- Ask questions and get answers
 http://Ask.JustEtc.net
-------------------------------------------------------------------------------- Offline IT Training:
 http://University.JustEtc.net
Learning Objectives
Concept of Database and Database
Management System
 Activities of a Database Management
System
 What is a Relational Database
Management System
 Features of Relational Database
Management System

Learning Objectives
Create database
 Concept and explain the importance of
Data Security
 Data Encryption

 Importance
 Methods
Querying Database: Query Language:
SQL
 Uses of Databases

What is a Database?

Database means
 Data storage
 A good/organized/efficient way of storing data
 You can store all the information of a public
library/bank into a database

How are information stored in computers?
 In files; you know it when you learn to use
computers
 Files are stored in computer hard drives, USB
sticks, memory cards
What is a Database

Is there anything different of storing data
by a database
 Not much, databases also store data in files
 However, a database stores data in files in a
very organized way so that it becomes
easier to
○ Insert new data into the file/files
○ Easier to search, sort, and retrieve data from
those files
What is a Database

Let’s see, you can store all information
of a bank in a single computer file





All bank account information
All employee information
All account holder information
All branch and department information
You can keep them in a single file; but can
be very difficult to find something useful fast;
also inserting data and managing the file
can be difficult
What is a Database

Now you can store all data in multiple files; just
divide the original file into multiple files;
○ Still if you do not organize the files or the data in them,
it can be very difficult to work with them
○ In a database, information are kept eventually in
computer files
 However, a database will use a good strategy on how to store
those data into files
 Databases will store the data in many files
 Will store in such a way so that it becomes easier to work with
the files and the data
 In real life, we have systems and software that knows about
the strategy and helps to deal with those files and data for
efficient storing, searching, retrieving, doing operations on the
data and store the result in the same database
- We call such systems and software to be the Database
Management System
What is a database

One strategy
 Keep one type of data into one file
○ Such as in one file, store all bank account holders
personal information
○ In another file, keep the details of all the bank accounts
○ In another file, keep the association between these
accounts and account holders
○ If the number of records in a file is two many, divide the
files into multiple files but keeping the same type of
information; find a way to keep track which files are
related
○ Create some other files to keep track of which files
store what
○ Create some other files that can store the
location/address/position of a particular data in other
files [index file]
What is a Database Management System
If we have software that implements the
strategy described above, can be called a
DBMS
 When we feed data into it, if it can store the
data using that strategy and provides ways
to manipulate the data in an efficient way

 Then we can call this software to be a DBMS
 DBMSes usually display data in tabular format
(row/column - format)
Database and Database Management Systems


From Wikipedia, the free encyclopedia
A database
 is an organized collection of data. The data are typically organized to
model relevant aspects of reality in a way that supports processes
requiring this information. For example, modeling the availability of
rooms in hotels in a way that supports finding a hotel with vacancies

Database management systems (DBMSs)
 are specially designed applications that interact with the user, other
applications, and the database itself to capture and analyze data. A
general-purpose database management system (DBMS) is a software
system designed to allow the definition, creation, querying, update, and
administration of databases. Well-known DBMSs include MySQL,
PostgreSQL, SQLite, Microsoft SQL Server, Microsoft Access, Oracle,
SAP, dBASE, FoxPro, IBM DB2, LibreOffice Base and FileMaker Pro. A
database is not generally portable across different DBMS, but different
DBMSs can inter-operate by using standards such as SQL and ODBC or
JDBC to allow a single application to work with more than one database.
Activities provided by a DBMS

DBMS can create a database
 i.e. Create the initial structure of the database
 Allocate space and saves the database in the hard
drive



Control who can use a database
Take data from user and record and store it
somehow
Organize data
 In meta files or in actual data files



Provide means to search and display the data
Provide security of the data
Maintain the integrity of the data
Advantages of a DBMS

Improved availability
 To different users, efficient retrieval of data

Minimized redundancy
 Data are organized in a way so that the same
data are not stored in multiple places/files

Accuracy
 Can keep data consistent as 1. redundancy
reduced and 2. data is available through one
interface (DBMS interface)
Advantages of a DBMS

Program and file consistency
 Standardizes the storing of data; so
others can use it easily

User-friendly
 Easier to deal with [usually provide
friendly interface]

Improved security
 Control who can access the database
Relational Database Model

Just a strategy to store and manipulate
data
 The strategy we talked about indirectly refers to
relational model
 Based on relational model
 What is a relational model?
○ it is a method of structuring data using relations,
which are grid-like/matrix-like mathematical
structures consisting of columns and rows
 Table is the physical manifestation of a relation in a
database
 So data are stored in tables (row/column wise) in
Relational Database Models
Relational Database Model





It is composed of one or more tables [to
represent data]
Tables also represent the
relations/associations of different related
data
So here, we have tables of data
Tables has columns called fields
Tables are linked/related to other related
tables by common columns/fields
 Primary key/foreign key concept
Relational Model for A Library

Books: Book Information
 Id, title, published, price

Authors: Author Information
 Id, name, SIN, address

Members: member information
 Id, name, SIN, address, phone, email

Book-Borrowers:
 Relation between books and members
 Bookid, memberid, date
Relational Model
Features of Relational DBMS






Provide easy ways to create tables
Provide easy ways to create relations
among tables
Provide ways to insert, update, search data
in a table or from multiple tables
Provide ways to validate data at insertion
Provides language such as SQL for data
insertion, update, and search
Support multiple views of data
Features of Relational DBMS

It is easy to create application software
having relational database in the
backend
Usage of Relational DBMS
Airlines reservation system
 Banking management system
 Online banking system
 Hospital operation management
systems
 Library management system

Creating Databases

What does it involves?
 In DBMS, usually there is an option to create







database
It may ask for initial size of the database
How to increment the size of the database
Character encoding of the database
Model to use for creating the database
(relational, object oriented)
Security/access control for the database
Path to store the database files
Then it will create the basic structure of the
database and store it in hard rive.
Creating Databases






The basic element of database creation is
fields/columns
You have to identify the different concepts/object
and relations among concepts [in the system]
For each, concept/object, you have to identify
fields
Then create tables for each of the concepts (and
for relations sometimes)
For each table define the fields/columns
Identify data types and length for each
column/field and specify it when creating tables
Data Types for Fields

Numeric
 Byte
 Bit
 Int
 Long
 Double
 float
Data Types for Fields

Text
 Text
 Char
 Varchar
Date, DateTime
 Currency

Query Language: SQL

Types
 Select
○ Selecting data by table fields
 Parameter
○ Query by filling information in dialog bixes
 Crosstab
○ Based on conditions
 Action
○ Delete, update, append
Sorting and Indexing

Sorting
 Is to arrange/sort data
○ Low to high: Ascending
 1, 2, 3, 4..100
 A ant boy cat
○ High to low: descending
 100,99,98....1
 Cat boy ant a
Indexing
Create an index (information about the
position) of the data
 Indexing is not actually sorting the data but
keeping track of the locations of the data
 Index can keep track of the data

 by ascending values or in descending values (of
the data)
 i.e. In index file there will be positions/addresses
of the data, the addresses will be kept in the
order of the values of the data
Indexing

Data
4
2
 100
 50

Index of the data in ascending value of
the data
 2, 1, 4, 3
Indexing

Advantages
 Can help to find the data faster when index by
one field
 Increases the performance of different database
operations

Disadvantages
 More ram used
 Data entry can take time for multiple field based
index
 When index with multiple fields, data editing can
take longer
Indexing vs Sorting
Relation Types

Degree of relations
 Unary -1
 Binary – 2
 Ternary – 3

Relation Types: among tables
(concepts/objects in the system)
 One to one
 One to Many or Many to One
 Many to Many
Use of Database for Government


E-government
E-governance
 http://en.wikipedia.org/wiki/E-Governance
 E-Governance is the application of Information
and Communication Technology (ICT) for
delivering government services, exchange of
information communication transactions,
integration of various stand-alone systems and
services between Government-to-Citizens
(G2C), Government-toBusiness(G2B),Government-to-Government(
G2G) as well as back office processes and
interactions within the entire government frame
work.
E-government

E-government
 http://en.wikipedia.org/wiki/E-Government
 E-Government (short for electronic government, also
known as e-gov, Internet government, digital
government, online government, or connected
government) is digital interactions between a government
and citizens (G2C), government and
businesses/Commerce (G2B), government and
employees (G2E), and also between government and
governments /agencies (G2G). Essentially, the eGovernment delivery models can be briefly summed up as
(Jeong, 2007):[1]





G2C (Government to Citizens)
G2B (Government to Businesses)
G2E (Government to Employees)
G2G (Government to Governments)
C2G (Citizens to Governments)
Data Security
Data is important for an organization or
government or a person
 Data should not be able to be accessed
by unauthorized person
 Data when stored in the office or when
transferred over the internet, it should
not be able to be accessed by
unauthorized person such as hackers,
or competitors

Methods to Provide Data Security
Restrict access to the computer
(password protect)
 Restrict access to the database
(password protect)
 Use firewalls so that outsiders cannot
access
 While sending data encrypt(unreadbale
format) data

Data Encryption
Changing/converting the data to
unreadable format while transferring
 Usually using some methods/algorithms
data are encrypted.
 Some encryption methods use keys
 Encryption Ingredients





Plaintext : text to be sent
Ciphertext : encryted text
Encryption algorithm : method to encrypt
Key : used in encryption or decryption
Encryption Types

Types
 Secret-key encryption
 Public-key encryption

Secret-key encryption
 Same key used for encryption and decryption
 Both sender and receiver know the key

Public-key encryption
 Sender: one key to encrypt : private to sender
 Receiver: another key to decrypt : private to
receiver
 One more key, known to both
Encryption Methods/Algorithms
Caesar code
 DES
 IDEA
 RSA

Further Study

Encryption
 http://www.salearningschool.com/searchResult.php?
queryStr=encryption&submit=Search+Database

Encryption example
○ http://www.salearningschool.com/displayArticle.php?tab
le=Articles&articleID=1355

Encryption algorithms
 http://www.cse-cst.gc.ca/its-sti/services/crypto-
services-crypto/ca-ac-eng.html

Choosing encryption methods for SQL Server
 http://technet.microsoft.com/en-
us/library/ms345262.aspx
Our Addresses

Trudelle Street, Toronto, Canada
 [email protected]

Shimultuly, Gazipur, Bangladesh
 Justetc Computers
 Habib Complex, 2nd Floor
 [email protected] (01942747702)
References

DBMS Theory
 http://www.salearningschool.com/index.php?table=Articles
&categoryID=6&category=DBMS%20Theory

Database Systems
 http://www.salearningschool.com/index.php?table=Articles
&categoryID=2&category=Database%20Systems

MySQL DBMS
 http://www.salearningschool.com/searchResult.php?query
Str=mysql&submit=Search+Database

Indexing vs Sorting
 http://docs.acl.com/acl/920/index.jsp?topic=/com.acl.user_
guide.help/data_analysis/c_sorting_versus_indexing.html
Have fun
Guys!!!