CLASS: SS 3
WEEK 4 LESSON NOTE
TOPIC: DATABASE
Databases are structured collections of data that are organized and stored for efficient retrieval and
manipulation. They play a critical role in various applications, from managing business information to
supporting websites and applications. Here are some fundamental concepts related to databases:
Types of Databases:
1. Relational Databases: These databases use tables (relations) to store data, and relationships
between data are defined through keys. Common relational database management systems
(DBMS) include:
MySQL
PostgreSQL
Oracle Database
Microsoft SQL Server
SQLite
2. NoSQL Databases: NoSQL databases are designed to handle unstructured or semi-structured
data and provide more flexibility than relational databases. Types of NoSQL databases include:
Document Stores (e.g., MongoDB, Couchbase)
Key-Value Stores (e.g., Redis, Amazon DynamoDB)
Column-Family Stores (e.g., Apache Cassandra, HBase)
Graph Databases (e.g., Neo4j, Amazon Neptune)
3. NewSQL Databases: These databases attempt to combine the benefits of both relational and
NoSQL databases. They aim to provide the scalability of NoSQL while maintaining ACID
(Atomicity, Consistency, Isolation, Durability) properties. Examples include Google Spanner and
CockroachDB.
Examples of DBMS (Database Management Systems):
MySQL: An open-source relational DBMS.
Oracle Database: A powerful commercial relational DBMS.
MongoDB: A popular NoSQL document store DBMS.
Redis: A high-performance key-value store DBMS.
Neo4j: A graph database for handling interconnected data.
SQLite: A lightweight, embedded relational DBMS.
Cassandra: A distributed NoSQL column-family store DBMS.
SQL Server: Microsoft's relational DBMS.
PostgreSQL: An open-source relational DBMS known for its extensibility.
Basic Database Terminologies:
1. Table: A fundamental database object that stores data in rows and columns.
2. Record/Row: A single entry in a table, containing a set of related data.
3. Field/Column: A specific data attribute within a table that represents a particular piece of
information.
4. Primary Key: A unique identifier for each record in a table, used to ensure data integrity and
enforce relationships.
5. Foreign Key: A field in one table that references the primary key in another table to establish
relationships between tables.
6. Index: A data structure that enhances data retrieval speed by creating a lookup mechanism for
specific columns.
7. Query: A request for data from a database using SQL (Structured Query Language) or a query
language specific to the DBMS.
8. Normalization: A process of organizing data in a relational database to eliminate redundancy
and maintain data integrity.
Forms of Database Organization:
1. Hierarchical Database: Data is organized in a tree-like structure with parent-child relationships.
Examples include IMS (Information Management System).
2. Network Database: Data is organized using a more complex structure of sets and subsets,
allowing multiple relationships. CODASYL databases are an example.
3. Relational Database: Data is organized in tables with rows and columns, and relationships are
established through keys.
4. Object-Oriented Database: Data is stored as objects with attributes and methods, suitable for
object-oriented programming languages.
5. Document Database: Stores data in a document format (e.g., JSON, XML) and is suitable for
semi-structured data.
6. Graph Database: Designed to handle data with complex relationships, making it efficient for
graph-like structures.
7. Column-Family Database: Designed for storing and retrieving columns of data, often used in big
data and NoSQL databases.
The choice of database type and organization depends on the specific requirements of an application,
including data volume, complexity, and performance considerations.