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

1_sql Server Notes

A database is an organized collection of inter-related data that allows for efficient retrieval, insertion, and deletion of information, often structured in tables and managed by a Database Management System (DBMS). Various types of databases exist, including relational, NoSQL, and cloud databases, each with distinct advantages and disadvantages. DBMS provides essential functionalities like data definition, retrieval, and user administration while ensuring data security and integrity.

Uploaded by

ksgngpdk7d
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

1_sql Server Notes

A database is an organized collection of inter-related data that allows for efficient retrieval, insertion, and deletion of information, often structured in tables and managed by a Database Management System (DBMS). Various types of databases exist, including relational, NoSQL, and cloud databases, each with distinct advantages and disadvantages. DBMS provides essential functionalities like data definition, retrieval, and user administration while ensuring data security and integrity.

Uploaded by

ksgngpdk7d
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

WHAT IS A DATABASE?

Database is a collection of inter-related data which is used to retrieve, insert and delete data efficiently.
Database is also used to organize data in form of tables, schemas, views, and reports, etc. E.g.: A
college database organizes data about the admin, staff, students and faculty etc. Using the database,
you can easily retrieve, insert, and delete the information. A database is an organized collection of data,
so that it can be easily accessed and managed. You can organize data into tables, rows, columns, and
index it to make it easier to find relevant information.
Database handlers create a database file in such a way that only one set of software program provides
access of data to all users. The main purpose of a database is to operate large amounts of information
by storing, retrieving, and managing data. There are many dynamic websites on the World Wide Web
nowadays which are handled through databases. E.g., a model that checks the availability of rooms in a
hotel. It’s an example of a dynamic website that use database. There are many databases e.g. MySQL,
Sybase, Oracle, MongoDB, Informix, PostgreSQL, SQL Server, etc. Modern databases are managed
by a database management system (DBMS). SQL or Structured Query Language is
used to operate on the data stored in a database. A cylindrical structure is used to display
the image of a database.

DATABASE MANAGEMENT SYSTEM


 Database management system is a software which is used to manage the database. For
example: MySQL, Oracle, etc are a very popular commercial database which is used in different
applications.
 DBMS provides an interface to perform various operations like database creation, storing data in
it, updating data, creating a table in the database and a lot more.
 It provides protection and security to the database. In the case of multiple users, it also
maintains data consistency.
DBMS ALLOWS USERS THE FOLLOWING TASKS:
 Data Definition: It is used for creation, modification, and removal of definition that defines the
organization of data in the database.
 Data Updation: It is used for insertion, modification, and deletion of the data in the database.
 Data Retrieval: It is used to retrieve the data from the database which can be used by
applications for various purposes.
 User Administration: It is used for registering and monitoring users, maintain data integrity,
enforcing data security, dealing with concurrency control, monitoring performance and
recovering information corrupted by unexpected failure.
CHARACTERISTICS OF DBMS
 It uses a digital repository established on a server to store and manage the information.
 It can provide a clear and logical view of the process that manipulates data.
 DBMS contains automatic backup and recovery procedures.
 It contains ACID properties which maintain data in a healthy state in case of failure.
 It can reduce the complex relationship between data.
 It is used to support manipulation and processing of data.
1 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses
 It is used to provide security of data.
 It can view the database from different viewpoints according to the requirements of the user.
ADVANTAGES OF DBMS
 Controls database redundancy: It can control data redundancy because it stores all the data in
one single database file and that recorded data is placed in the database.
 Data sharing: In DBMS, an authorized users of a company can share data among many users.
 Easily Maintenance: is easily maintainable due to the centralized nature of the database system.
 Reduce time: It reduces development time and maintenance need.
 Backup: It provides backup and recovery subsystems which create automatic backup of data
from hardware and software failures and restores the data if required.
 multiple user interface: It provides different types of user interfaces like graphical user
interfaces, application program interfaces
DISADVANTAGES OF DBMS
 Cost of Hardware and Software: It requires a high speed of data processor and large memory
size to run DBMS software.
 Size: It occupies a large space of disks and large memory to run them efficiently.
 Complexity: Database system creates additional complexity and requirements.
 Higher impact of failure: Failure is highly impacted the database because in most of the
organization, all the data stored in a single database and if the database is damaged due to
electric failure or database corruption then the data may be lost forever.
EVOLUTION OF DATABASES
Databases have completed more than 50 years of journey in their evolution from a flat-file system to a
relational and objects relational systems. It has gone through several generations.
FILE-BASED MODEL
File-Based databases were introduced in 1968. In file-based databases, data was maintained in a flat
file. Though files have many advantages, there are many limitations. One of the major advantages is that
the file system has various access methods, e.g., sequential, indexed, and random. It requires
extensive programming in a third-generation
language such as COBOL, BASIC.
HIERARCHICAL DATA MODEL
1968-1980 was the time of the Hierarchical
Databases. The prominent hierarchical database
model was IBM's first DBMS. It was called the
IMS (Information Management System). In this
model, files are related in a parent/child method.
Below is a diagram that represents a Hierarchical
Data Model. The small circles represent objects.
Like a file system, this Hierarchical model also
had some limitations e.g. complex
implementation, lack of structural independence,
can't easily handle a many-many relationship, etc.
NETWORK DATA MODEL
Charles Bachman developed the first DBMS at Honeywell called Integrated Data Store (IDS). It was
developed in the early 1960s, but it was standardized in 1971 by the CODASYL group (Conference on
Data Systems Languages). In this model, files are related as owners and members, like to the common
network model.
Network data model identified the following components:
o Network schema (Database organization)
o Sub-schema (views of database per user)
o Data management language (procedural)
This model also had some limitations like system complexity and difficult to design and maintain.
RELATIONAL DATABASE
1970 - Present: It is the era of Relational Database and Database Management. In 1970, the relational
model was proposed by E.F. Codd. Relational database model has two main terminologies called
instance and schema. The instance is a table with rows or columns schema specifies the structure like
name of the relation, type of each column and name. This model uses some mathematical concept like
set theory and predicate logic. The first internet database application had been created in 1995. During
the era of the relational database, many more models had introduced like object-oriented model, object-
relational model etc.
CLOUD DATABASE
Cloud database allow you to store, manage, and retrieve their structured, unstructured data via a cloud
platform. Their data is accessed over the Internet. Cloud databases are also called database as service
(DBaaS) because they are offered as a managed service.
SOME BEST CLOUD OPTIONS ARE:
 AWS (Amazon Web Services) ● Snowflake Computing
 Oracle Database Cloud Services ● Microsoft SQL server
 Google cloud spanner
ADVANTAGES OF CLOUD DATABASE
 Lower costs: Generally, company provider does not have to invest in databases. It can maintain
and support one or more data centers.
 Automated: Cloud databases are developed with a variety of automated processes e.g. recovery,
failover, and auto-scaling.
 Increased accessibility: You can access your cloud-based database from any location, anytime.
All you need is just an internet connection.
NOSQL DATABASE
A NoSQL database is an approach to design such databases that can accommodate a wide variety of
data models. NoSQL stands for "not only SQL." It is an alternative to traditional relational databases
in which data is placed in tables, and a data schema is perfectly designed before the database is built.

3 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


NoSQL databases are useful for a large set of distributed data. Some examples of NoSQL database
system with their category are:
 MongoDB, CouchDB, Cloudant (Document-based)
 Memcached, Redis, Coherence (key-value store)
 HBase, Big Table, Accumulo (Tabular)
ADVANTAGE OF NOSQL
 High Scalability: NoSQL can handle an extensive amount of data because of scalability. If the
data grows, NoSQL database scale it to handle that data in an efficient manner.
 High Availability: NoSQL supports auto replication. Auto replication makes it highly available
because, in case of any failure, data replicates itself to the previous consistent state.
DISADVANTAGE OF NOSQL
 Open source: NoSQL is an open-source database, so there is no reliable standard for it yet.
 Management challenge: Data management in NoSQL is much more complicated than relational
databases. It is very challenging to install and even more hectic to manage daily.
 GUI is not available: GUI tools for NoSQL database are not easily available in the market.
 Backup: Backup is a great weak point for NoSQL databases. Some databases, like MongoDB,
have no powerful approaches for data backup.
THE OBJECT-ORIENTED DATABASES
Object-oriented databases contain data in form of object and classes. Objects are the real-world entity,
and types are the collection of objects. An object-oriented database is a combination of relational model
features with objects-oriented principles. It is an alternative implementation to that of the relational model.
Object-oriented databases hold the rules of object-oriented programming. An object-oriented database
management system is a hybrid application.Object-oriented database model has the following properties.
Object-oriented programming properties
 Objects ● Classes ● Inheritance
 Polymorphism ● Encapsulation
Relational database properties
 Atomicity ● Consistency ● Integrity
 Durability ● Concurrency ● Query processing
GRAPH DATABASES
A graph database is a NoSQL
database. It is a graphical
representation of data. It contains
nodes and edges. A node
represents an entity, and each edge represents a relationship between two edges. Every node in a graph
database represents a unique identifier. Graph databases are beneficial for searching the relationship
between data because they highlight the relationship between relevant data. Graph databases are very
useful when the database contains a complex relationship and dynamic schema. It is mostly used
in supply chain management, identifying the source of IP telephony.
DBMS (DATA BASE MANAGEMENT SYSTEM)
Database management System (DBMS) is software which is used to store and retrieve the database.
For example, Oracle, MySQL, etc.; these are some popular DBMS tools.
 DBMS provides the interface to perform the various operations like creation, deletion,
modification, etc.
 DBMS allows the user to create their databases as per their requirement.
 DBMS accept requests from the application and give specific data through the operating system.
 DBMS contains the group of programs which acts according to the user instruction.
 It provides security to the database.
ADVANTAGE OF DBMS
 Controls redundancy: It stores all the data in a single database file, so it can control data
redundancy.
 Data sharing: An authorized user can share the data among multiple users.
 Backup: It provides Backup and recovery subsystem. This recovery system creates automatic
data from system failure and restores data if required.
 Multiple user interfaces: It provides a different type of user interfaces like GUI, application
interfaces.
DISADVANTAGE OF DBMS
 Size: It occupies large disk space and large memory to run efficiently.
 Cost: DBMS requires a high-speed data processor and larger memory to run, so it is costly.
 Complexity: DBMS creates additional complexity and requirements.
RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS)
The word RDBMS is termed as 'Relational Database Management System.' It is represented as a table
that contains rows and column. RDBMS is based on the Relational model and it was introduced by E. F.
Codd. An RDBMS is a tabular DBMS that maintains the security, integrity, accuracy, and consistency of
the data. A relational database contains the following components:
● Table. ● Record/ Tuple. ● Field/Column name /Attribute
● Instance ● Schema. ● Keys
TYPES OF DATABASES
There are various types of databases used for storing different varieties of data:

5 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


1.CENTRALIZED DATABASE
It is the type of database that stores data in a centralized database system. It allows users to access the
stored data from different locations over several applications. These applications have the authentication
process to let users access data securely. An example of a Centralized database can be Central Library
that carries a central database of each library in a college or university.
Advantages of Centralized Database
 It has decreased the risk of data management, i.e., manipulation of data will not affect core data.
 Data consistency is maintained as it manages data in a central repository.
 It provides better data quality, which enables organizations to establish data standards.
 It is less costly because fewer vendors are required to handle the data sets.
Disadvantages of Centralized Database
 The size of a centralized database is large, which increases the response time for fetching data.
 It is not easy to update such an extensive database system.
 If any server failure occurs, entire data will be lost, which
could be a huge loss.
2. DISTRIBUTED DATABASE
Unlike a centralized database system, in a distributed system, data
is distributed among different database systems of an organization.
These database systems are connected thru communication links.
Such links assist end-users to access the data easily. Examples of
the Distributed database are Apache Cassandra, HBase, Ignite,
etc. We can further divide a distributed database system into:
 Homogeneous DDB: These are database systems which execute on the same operating system
and use the same application process and carry the same hardware devices.
 Heterogeneous DDB: These are database systems which execute on different operating
systems under different application procedures, and carries different hardware devices.
Advantages of Distributed Database
 Modular development is possible in a distributed database, i.e., the system can be expanded by
including new computers and connecting them to the distributed system.
 One server failure will not affect the entire data set.
3. RELATIONAL DATABASE
This database is based on the relational data model, which stores data in the form of rows(tuple) and
columns(attributes), and together forms a table(relation). A relational database uses SQL for storing,
manipulating, as well as maintaining the data. E.F. Codd invented the database in 1970. Each table in
the database carries a key that makes the data unique from others. Examples of Relational databases
are MySQL, Microsoft SQL Server, Oracle, etc.
PROPERTIES OF RELATIONAL DATABASE
There are four commonly known properties of a relational model known as ACID properties, where:
 A means Atomicity: This ensures the data operation will complete either with success or with
failure. It follows the 'all or nothing' strategy. E.g., a transaction will either be committed or abort.
 C means Consistency: If we perform any operation over the data, its value before and after the
operation should be preserved. For example, the account balance before and after the transaction
should be correct, i.e., it should remain conserved.
 I means Isolation: There can be concurrent users for accessing data at the same time from the
database. Thus, isolation between the data should remain isolated. For example, when multiple
transactions occur at the same time, one transaction effects should not be visible to the other
transactions in the database.
 D means Durability: It ensures that once it completes the operation and commits the data, data
changes should remain permanent.
4. NOSQL DATABASE
Non-SQL or Not Only SQL is a type of database that is used for storing
a wide range of data sets. It is not a relational database as it stores data
not only in tabular formart but in various different ways. It came into
existence when the demand for building modern applications increased.
Therefore, NoSQL presented a wide variety of database technologies in
response to the demands. We can further divide a NoSQL database into
the following four types:
 Key-value storage: It is the simplest type of database storage
where it stores every single item as a key (or attribute name) holding its value, together.
 Document-oriented Database: A type of database used to store data as JSON-like document.
It helps developers in storing data by using the same document-model format as used in the
application code.
 Graph Databases: It is used for storing vast amounts of data in a graph-like structure. Most
commonly, social networking websites use the graph database.
 Wide-column stores: It is similar to the data represented in relational databases. Here, data is
stored in large columns together, instead of storing in rows.
Advantages of NoSQL Database
 It enables good productivity in the application development as it is not required to store data in a
structured format.
 It is a better option for managing and handling large data sets. ● It provides high scalability.
 Users can quickly access data from the database through key-value.
5.CLOUD DATABASE
A type of database where data is stored in a virtual environment and executes over the cloud computing
platform. It provides users with various cloud computing services (SaaS, PaaS, IaaS, etc.) for accessing
the database. There are many cloud platforms, but the best options are:
● Amazon Web Services(AWS) ● Microsoft Azure
● Kamatera ● PhonixNAP
● ScienceSoft ● Google Cloud SQL, etc.

7 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


6. OBJECT-ORIENTED DATABASES
The type of database that uses the object-based data model approach for storing data in the database
system. The data is represented and stored as objects which are similar to the objects used in the
object-oriented programming language.
7. HIERARCHICAL DATABASES
It is the type of database that stores data in the form of parent-children relationship nodes. Here, it
organizes data in a tree-like structure. Data get
stored in the form of records that are connected
via links. Each child record in the tree will contain
only one parent. On the other hand, each parent
record can have multiple child records.
8. NETWORK DATABASES
It is the database that typically follows the
network data model. Here, the representation of
data is in the form of nodes connected via links
between them. Unlike the hierarchical database,
it allows each record to have multiple children
and parent nodes to form a generalized graph
structure.
9. PERSONAL DATABASE
Collecting and storing data on the user's system defines a Personal Database. This database is
basically designed for a single user.
Advantage of Personal Database
 It is simple and easy to handle.
 It occupies less storage space as it is small in size.
10. OPERATIONAL DATABASE
The type of database which creates and updates the database in real-time. It is basically designed for
executing and handling the daily data operations in several businesses. For example, an organization
uses operational databases for managing per day transactions.
11. ENTERPRISE DATABASE
Large organizations or enterprises use this database for managing a massive amount of data. It helps
organizations to increase and improve their efficiency. Such a database allows simultaneous access to
users. Advantages of Enterprise Database:
 Multi processes are supportable over the Enterprise database.
 It allows executing parallel queries on the system.

WHAT IS RDBMS
RDBMS stands for Relational Database Management Systems. All modern database management
systems like SQL, MS SQL Server, IBM DB2, ORACLE, My-SQL and Microsoft Access are based on
RDBMS. It is called Relational Data Base Management System (RDBMS) because it is based on
relational model introduced by E.F. Codd.
HOW DOES IT WORK
Data is represented in terms of tuples (rows) in RDBMS. Relational database is most commonly used
database. It contains more than one table and each table has its own primary key. Due to a collection
of organized set of tables, data can be accessed easily in RDBMS.
BRIEF HISTORY OF RDBMS
During 1970 to 1972, E.F. Codd published a paper to propose the use of relational database model.
RDBMS is originally based on that E.F. Codd's relational model invention.

WHAT IS TABLE
The RDBMS database uses tables to store data. A table is a collection of related data entries and
contains rows and columns to store data. A table is the simplest example of data storage in RDBMS.
Let's see the example of student table.

ID NAME AGE COURSE

1 Ajeet 24 B.Tech

2 aryan 20 C.A

3 Mahesh 21 BCA

4 Ratan 22 MCA

5 Vimal 26 BSC

WHAT IS FIELD
A field is a smaller entity of a table which contains specific information about every record in the table.
In the above example, the field in the student table consist of id, name, age, course.
WHAT IS ROW OR RECORD
A row of a table is also called record. It contains the specific information of each individual entry in the
table. It is a horizontal entity in the table. For example: The above table contains 5 records.
Let's see one record/row in the table.

1 BULEGA 24 B.TECH

WHAT IS COLUMN
A column is a vertical entity in the table which contains all information related with a specific field in a
table. E.g. "name" is a column in the above table which contains all information about student's name.

9 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


Ajeet

Aryan

Mahesh

Ratan

Vimal
NULL VALUES
The NULL value of the table specifies that the field has been left blank during record creation. It is totally
different from the value filled with zero or a field that contains space.
DATA INTEGRITY
THE FOLLOWING ARE CATEGORIES OF DATA INTEGRITY IN EVERY RDBMS:
 Entity integrity: It specifies that there should be no duplicate rows in a table.
 Domain integrity: It enforces valid entries for a given column by restricting the type, the format,
or the range of values.
 Referential integrity: It specifies that rows cannot be deleted, which are used by other records.
 User-defined integrity: It enforces some specific business rules that are defined by users. These
rules are different from entity, domain or referential integrity.
DIFFERENCE BETWEEN DBMS AND RDBMS
Although DBMS and RDBMS both are used to store information in physical database but there are some
remarkable differences between them.
THE MAIN DIFFERENCES BETWEEN DBMS AND RDBMS ARE GIVEN BELOW:
No. DBMS RDBMS

1) DBMS applications store data as a RDBMS applications store data in a


file. tabular form.
2) In DBMS, data is stored in either a In RDBMS, the tables have an identifier
hierarchical form or a navigational called a primary key and the data values
form. are stored in form of tables.
3) Normalization is not present in Normalization is present in RDBMS.
DBMS.
4) DBMS does not apply any RDBMS defines the integrity constraint for
security with regards to data the purpose of ACID (Atomicity,
manipulation. Consistency, Isolation and Durability)
properties.
5) DBMS uses file system to store data, in RDBMS, data values are stored in the
so there will be no relation between form of tables, so a relationship between
the tables. these data values will be stored in the
form of a table as well.
6) DBMS has to provide some uniform RDBMS system supports a tabular
methods to access the stored structure of the data and a relationship
information. between them to access the stored
information.
7) DBMS does not support distributed RDBMS supports distributed database.
database.
8) DBMS is meant to be for small RDBMS is designed to handle large
organization and deal with small amount of data. it supports multiple users.
data. it supports single user.
9) Examples of DBMS are file Example of RDBMS
systems, xml etc. are MySQL, PostgreSQL
server, Oracle etc.

After observing the differences between DBMS and RDBMS, you can say that RDBMS is an extension
of DBMS. There are many software products in the market today who are compatible for both DBMS
and RDBMS.
DBMS VS. FILE SYSTEM
FILE SYSTEM APPROACH
File based systems were an early attempt to computerize manual systems. It is also called a traditional
based approach in which a decentralized approach was taken where each department stored and
controlled its own data with the help of a data processing specialist. The main role of a data processing
specialist was to create the necessary computer file structures, and also manage the data within
structures and design some application programs that create reports based on file data.
Consider an example of a student's file system. A student file will contain information about the student
(i.e. roll no, student name, course etc.). Similarly, we have a subject file that contains information about
the subject and the result file which contains the information regarding the result. Some fields are
duplicated in more than one file, which leads to data redundancy. So, to overcome this problem, we need
to create a centralized system, i.e. DBMS approach.
DBMS:
A database approach is a well-organized collection of data that are related in a meaningful way which
can be accessed by different users but stored only once in a system. The various operations performed
by the DBMS system are: Insertion, deletion, selection, sorting etc.

11 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


In the above figure, duplication of data is reduced due to centralization of data.
THERE ARE THE FOLLOWING DIFFERENCES BETWEEN DBMS AND FILE SYSTEMS:

BASIS DBMS APPROACH FILE SYSTEM APPROACH

Meaning DBMS is a collection of data. In A file system is a collection of


DBMS, the user is not required to data. In this system, the user
write the procedures. has to write the procedures for
managing the database.

Sharing of data Due to the centralized approach, Data is distributed in many


data sharing is easy. files, and it may be of different
formats, so it isn't easy to
share data.

Data Abstraction DBMS gives an abstract view of The file system provides the
data that hides the details. detail of the data
representation and storage of
data.

Security and DBMS provides a good protection It isn't easy to protect a file
Protection mechanism. under the file system.

Recovery Mechanism DBMS provides a crash recovery The file system doesn't have a
mechanism, i.e., DBMS protects crash mechanism, i.e., if the
the user from system failure. system crashes while entering
some data, then the content of
the file will be lost.

Manipulation DBMS contains a wide variety of The file system can't efficiently
Techniques sophisticated techniques to store store and retrieve the data.
and retrieve the data.
Concurrency DBMS takes care of Concurrent In the File system, concurrent
Problems access of data using some form of access has many problems
locking. like redirecting the file while
deleting some information or
updating some information.

Where to use Database approach used in large File system approach used in
systems which interrelate many large systems which interrelate
files. many files.

Cost The database system is expensive The file system approach is


to design. cheaper to design.

Data Redundancy Due to the centralization of the In this, the files and application
and Inconsistency database, the problems of data programs are created by
redundancy and inconsistency are different programmers so that
controlled. there exists a lot of duplication
of data which may lead to
inconsistency.

Structure The database structure is complex The file system approach has
to design. a simple structure.

Data Independence In this system, Data Independence In the File system approach,
exists, and it can be of two types. there exists no Data
Logical Data Independence Independence.
Physical Data Independence

Integrity Constraints Integrity Constraints are easy to Integrity Constraints are


apply. difficult to implement in file
system.

Data Models In the database approach, 3 types In the file system approach,
of data models exist: there is no concept of data
Hierarchal data models models exists.
Network data models
Relational data models
Flexibility Changes are often a necessity to the The flexibility of the system is
content of the data stored in any less as compared to the DBMS
system, and these changes are more approach.
easily with a database approach.

13 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


Examples Oracle, SQL Server, Sybase etc. Cobol, C++ etc.

DBMS ARCHITECTURE
 The DBMS design depends upon its architecture. The basic client/server architecture is used to
deal with a large number of PCs, web servers, database servers and other components that are
connected with networks.
 The client/server architecture consists of many PCs and a workstation which are connected via
the network.
 DBMS architecture depends upon how users are connected to the database to get their request
done.

TYPES OF DBMS ARCHITECTURE

Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of
two types: 2-tier architecture and 3-tier architecture
1-TIER ARCHITECTURE
 In this architecture, the database is directly available to the user. It means the user can directly
sit on the DBMS and uses it.
 Any changes done here will directly be done on the database itself. It doesn't provide a handy
tool for end users.
 The 1-Tier architecture is used for development of the local application, where programmers can
directly communicate with the database for the quick response.
2-TIER ARCHITECTURE
 The 2-Tier architecture is same as basic client-server. In the two-tier architecture, applications
on the client end can directly communicate with the database at the server side. For this
interaction, API's like: ODBC, JDBC are used.
 The user interfaces and application programs are run on the client-side.
 The server side is responsible to provide the functionalities like: query processing and
transaction management.
 To link with a DBMS, a client-side application creates a connection with the server side.

Fig: 2-tier Architecture


3-TIER ARCHITECTURE
 The 3-Tier architecture contains another
layer between the client and server. In this
architecture, client can't directly
communicate with the server.
 The application on the client-end interacts
with an application server which further
communicates with the database system.
 End user has no idea about the existence of
the database beyond the application server.
The database also has no idea about any
other user beyond the application.
 The 3-Tier architecture is used in case of
large web application.

Fig 3-Tie architecture

DATA MODELS
Data Model is the modeling of the data description, data semantics, and consistency constraints of the
data. It provides the conceptual tools for describing the design of a database at each level of data
abstraction. Therefore, there are following four data models used for understanding the structure of the
database:

15 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses


1.Relational Data Model: This type of model designs the data in the form of rows and columns within a
table. So, a relational model uses tables for representing data and in-between relationships. Tables are
also called relations. This model was initially described by Edgar F. Codd, in 1969. The relational data
model is the widely used model which is primarily used by commercial data processing applications.
2.Entity-Relationship Data Model: An ER model is the logical representation of data as objects and
relationships among them. These objects are known as entities, and relationship is an association among
these entities. This model was designed by Peter Chen and published in 1976. It was extensively used
in database designing. A set of attributes describe the entities. For example, student_name, student_id
describes the 'student' entity. A set of the same type of entities is known as an 'Entity set', and the set of
the same type of relationships is known as 'relationship set'.
3.Object-based Data Model: An extension of the ER model with notions of functions, encapsulation,
and object identity, as well. This model supports a rich type system that includes structured and collection
types. Thus, in 1980s, various database systems following the object-oriented approach were developed.
Here, the objects are nothing but the data carrying its properties.
4.Semistructured Data Model: This type of data model is different from the other three data models
(explained above). The semistructured data model allows the data specifications at places where the
individual data items of the same type may have different attributes sets. The Extensible Markup
Language, also known as XML, is widely used for representing the semistructured data. Although XML
was initially designed for including the markup information to the text document, it gains importance
because of its application in the exchange of data.
DATA MODEL SCHEMA AND INSTANCE
 The data which is stored in the database at a particular moment of time is called an instance of
the database.
 The overall design of a database is called schema.
 A database schema is the skeleton structure of the database. It represents the logical view of
the entire database.
 A schema contains schema objects like table, foreign key, primary key, views, columns,
data types, stored procedure, etc.
 A database schema can be represented by using the visual diagram. That diagram shows the
database objects and relationship with each other.
 A database schema is designed by the database designers to help programmers whose
software will interact with the database. The process of database creation is called data
modeling.
A schema diagram can display only some aspects of a schema like the name of record type, data type,
and constraints. Other aspects can't be specified through the schema diagram. For example, the given
figure neither show the data type of each data item nor the relationship among various files. In the
database, actual data changes quite frequently. For example, in the given figure, the database changes
whenever we add a new grade or add a student. The data at a particular moment of time is called the
instance of the database.

DATABASE LANGUAGE
A DBMS has appropriate languages and interfaces to express database queries and updates. Database
languages can be used to read, store and update the data in the database.
TYPES OF DATABASE LANGUAGE
17 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses
1. DATA DEFINITION LANGUAGE
DDL stands for Data Definition Language. It is used to define database structure or pattern.
 It is used to create schema, tables, indexes, constraints, etc. in the database.
 Using the DDL statements, you can create the skeleton of the database.
 Data definition language is used to store the information of metadata like the number of tables
and schemas, their names, indexes, columns in each table, constraints, etc.
Here are some tasks that come under DDL:
 Create: It is used to create objects in the database.
 Alter: It is used to alter the structure of the database.
 Drop: It is used to delete objects from the database.
 Truncate: It is used to remove all records from a table.
 Rename: It is used to rename an object.
 Comment: It is used to comment on the data dictionary.
 These commands are used to update the database schema that's why they come under Data
definition language.
2. DATA MANIPULATION LANGUAGE (DML )
DML stands for Data Manipulation Language. It is used for accessing and manipulating data in a
database. It handles user requests. Here are some tasks that come under DML:
 Select: It is used to retrieve data from a database.
 Insert: It is used to insert data into a table.
 Update: It is used to update existing data within a table.
 Delete: It is used to delete all records from a table.
 Merge: It performs UPSERT operation, i.e., insert or update operations.
 Call: It is used to call a structured query language or a Java subprogram.
 Explain Plan: It has the parameter of explaining data.
 Lock Table: It controls concurrency.
3. DATA CONTROL LANGUAGE (DCL)
DCL stands for Data Control Language. It’s used to retrieve the saved data. The DCL execution is
transactional. It also has rollback parameters. (But in Oracle database, the execution of data control
language does not have the feature of rolling back.)
Here are some tasks that come under DCL:
o Grant: It is used to give user access privileges to a database.
o Revoke: It is used to take back permissions from the user.
There are the following operations which have the authorization of Revoke:
 CONNECT, INSERT, USAGE, EXECUTE, DELETE, UPDATE and SELECT.

4. TRANSACTION CONTROL LANGUAGE


TCL is used to run changes made by the DML statements. TCL can be grouped into a logical transaction.
Here are some tasks that come under TCL:
o Commit: It is used to save the transaction on the database.
o Rollback: It is used to restore the database to original since the last Commit.

ACID PROPERTIES IN DBMS


DBMS is the management of data that should remain integrated when any changes are done in it. It is
because if the integrity of the data is affected, whole data will get disturbed and corrupted. Therefore, to
maintain the integrity of the data, there are four properties described in the database management
system, which are known as the ACID properties. The ACID properties are meant for the transaction that
goes through a different group of tasks, and there we come to see the role of the ACID properties. In this
section, we will learn and understand about the ACID properties. We will learn what these properties
stand for and what does each property is used for. We will also see ACID properties with the help of
some examples.
ACID PROPERTIES
THE EXPANSION OF THE TERM ACID DEFINES FOR:

19 DATABASE PROGRAMMING with Microsoft SQL Server by Bulega Herbert Moses

You might also like