Database Connectivity & Web Technologies

Overview

Database connectivity enables applications to interact with database management systems. Modern applications require efficient and secure methods to connect to databases, whether from desktop applications, web applications, or mobile apps.

Database Connectivity Methods

1. Native SQL Connectivity

Native connectivity uses database-specific APIs and drivers provided by the database vendor. Each database has its own native connectivity method:

Advantages: Optimal performance, full feature support

Disadvantages: Database-specific, code not portable

2. ODBC (Open Database Connectivity)

ODBC is a standard API for accessing database management systems. It provides a database-agnostic interface:

ODBC Architecture

ODBC Components
Application
    ↓
ODBC Driver Manager
    ↓
ODBC Driver (Database-specific)
    ↓
Database

3. DAO (Data Access Objects)

DAO is a Microsoft technology for accessing databases, primarily used with Microsoft Access and other Microsoft databases:

4. RDO (Remote Data Objects)

RDO is a Microsoft technology for accessing remote databases:

5. OLE-DB

OLE-DB is a Microsoft technology that provides a unified interface for accessing data from various sources:

OLE-DB Components

6. ADO.NET

ADO.NET is Microsoft's data access technology for .NET Framework applications. It provides a set of classes for data access:

ADO.NET Components

ADO.NET Example (C#)
using System.Data.SqlClient;

// Create connection
SqlConnection conn = new SqlConnection(
    "Server=localhost;Database=MyDB;User Id=user;Password=pass;");

// Open connection
conn.Open();

// Create command
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", conn);

// Execute and read
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine(reader["CustomerName"]);
}

// Close connection
conn.Close();

7. JDBC (Java Database Connectivity)

JDBC is Java's standard API for connecting to relational databases:

JDBC Driver Types

JDBC Example (Java)
import java.sql.*;

// Load driver
Class.forName("com.mysql.jdbc.Driver");

// Create connection
Connection conn = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/mydb", "user", "password");

// Create statement
Statement stmt = conn.createStatement();

// Execute query
ResultSet rs = stmt.executeQuery("SELECT * FROM Customers");
while (rs.next()) {
    System.out.println(rs.getString("CustomerName"));
}

// Close connection
conn.close();

Database Internet Connectivity

Web-to-Database Middleware

Middleware acts as an intermediary between web servers and databases, translating requests and responses:

Server-Side Extensions

Server-side extensions enable dynamic web content generation:

PHP Database Connection Example
connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Query
$sql = "SELECT * FROM Customers";
$result = $conn->query($sql);

// Display results
while($row = $result->fetch_assoc()) {
    echo $row["CustomerName"] . "
"; } // Close connection $conn->close(); ?>

Web Server Interfaces

Different interfaces connect web servers to databases:

The Web Browser

Modern web browsers support various technologies for database connectivity:

Client-Side Extensions

Technologies that run in the browser to interact with databases:

Web Application Servers

Application servers provide runtime environments for web applications:

Web Database Development

Modern web database development follows best practices:

Architecture Patterns

Security Considerations

Extensible Markup Language (XML)

XML (Extensible Markup Language) is used for data representation and exchange:

XML in Database Context

XML Example


    
        1001
        John Doe
        john@example.com
    
    
        1002
        Jane Smith
        jane@example.com
    

Document Type Definitions (DTD)

DTD defines the structure and legal elements of an XML document:

DTD Example




XML Schemas

XML Schema provides more powerful validation than DTD:

Best Practices

Next Steps

Learn about managing database operations with Security & Administration, or explore advanced topics like Distributed Databases.