Relational Database Concepts and SQL Queries

Relational Algebra

Selection (σ): Horizontal tuples

Projection (π): Vertical tuples

Union Compatible: Same number of attributes, same domain, only unique tuples returned

  • Union (∪): “or”, all
  • Intersection (∩): “and”, similar
  • Difference (-): “not”

Inner Joins

  • Equijoin: Attribute used to join is repeated
  • Natural Join: Gets rid of repeated attribute. Tuples without a matching attribute or null value are eliminated from the join result

Outer Joins

  • Left Outer Join (LOJ): Keeps every tuple in the first or left
Read More

Database Approach vs. Traditional File System

Advantages of the Database Approach

Data Redundancy Control

  • The database approach minimizes data redundancy by integrating data into a single database, which can be accessed by multiple users and applications. This reduces the risk of data anomalies and inconsistencies.

Concurrent Access and Transaction Management

  • Databases support concurrent access, allowing multiple users to access and modify data simultaneously without causing data inconsistency.
  • Transaction management ensures that all database operations
Read More

Embedded Systems: Components, Architecture, and Development

Components of Embedded Systems

An embedded system has three main components:

  • Hardware
  • Application software: This may perform a series of tasks or multiple tasks concurrently.
  • Real-Time Operating System (RTOS): Supervises the application software and provides a mechanism to let the processor run a process as per scheduling, following a plan to control latencies.

Processor

A processor is the heart of an embedded system.

Power Source

There are three possible methods for providing power to an embedded system:

Read More

Deadlock Management in Multi-Process Systems

In a multi-process system, a deadlock is an undesirable situation that occurs in a shared resource environment. It happens when a process waits indefinitely for a resource held by another process.

For example, consider a set of transactions {T0, T1, T2, …,Tn}. T0 needs resource X, which is held by T1. T1 waits for resource Y, held by T2. T2 waits for resource Z, held by T0. All processes are waiting for each other, and none can finish. This is a deadlock.

Deadlocks are detrimental to a system. When

Read More

Cybersecurity Threats and Roles: A Comprehensive List

Cybersecurity Threats and Roles

Logic Bombs

Logic bombs are certain parts of code in programs that remain dormant, without performing any functions, until they are activated. At that point, the function they perform is not part of the original program, but generally, it is a harmful action.

Covert Channels

Covert channels (or hidden channels) are channels that allow a process to transfer information, violating the security policy of the system. In other words, a process transmits information to others

Read More

Software Development Lifecycle and System Design Principles

Phases in the SDLC

  • Project Planning Phase
  • Analysis Phase
  • Design Phase
  • Implementation Phase
  • Support Phase

Modality

  • Relationships have a modality of either “required” or “optional”, which refers to whether an instance of an entity can exist without a related instance in the related entity.
  • Can we have a customer instance without a related custom drone order instance?
  • Can we have a customer drone order instance without a customer instance?
  • Modality indicates whether the relationship between an entity
Read More