Database Design for Art Galleries: Schema & SQL Queries

Although you always wanted to be an artist, you ended up being an expert on databases because you love to cook data and you somehow confused database with data baste. Your old love is still there, however, so you set up a database company, ArtBase, that builds a product for art galleries. The core of this product is a database with a schema that captures all the information that galleries need to maintain.

ArtBase Database Schema

Artists

Artists, their names (which are unique), birthplaces, age, and

Read More

Virtual Memory and Data Storage Explained

Virtual Memory and Segmentation

In memory segmentation, partitions are resizable. Segmentation takes advantage of the fact that programs are divided into logical parts, such as pieces of data, code, etc. In this case, the program and its data are divided into a number of segments. The translation is carried out in the same way as paging, but taking into account that the size of the segments is variable. The segment table controls this. Thus, each entry in the table should also contain the residence

Read More

Essential SQL Commands: Query, Modify, and Manage Data

Frequently Used SQL Commands

DROP (Delete a Table)

DROP TABLE table_name;

DROP TABLE IF EXISTS table_name; (Checks if the table exists before deleting)

DELETE (Delete Records)

DELETE FROM table_name WHERE field_name = "value";

Example: DELETE FROM table_name WHERE field_name = "delete to juan:";

WHERE Clause

SELECT * FROM table_name WHERE field_name > 1000;

AND and OR Operators

SELECT * FROM table_name WHERE field_name > 1000 OR (field < 500 AND field > 275);

BETWEEN Operator

SELECT * FROM table_

Read More

Data Types, Variables, Operators, and Structures in BASIC

Data Behavior in a Program

Data can behave in two different ways in a program:

  • Constants: Their value never changes during the program’s execution.
  • Variables: Their value can vary as often as necessary.

Naming Conventions

When naming a variable, keep in mind the following rules:

  • Any alphanumeric character can be used, but it must always begin with a letter.
  • Spaces are not allowed; it is common to use the underscore character (_) for compound names.
  • The name length may not exceed 32 characters.
  • Dots or other
Read More

Object-Oriented Design: Subsystems, Architecture, and MVC Pattern

Object-Oriented Design Steps

In object-oriented design, two major steps are needed to begin the design phase. These steps involve organizing the problem domain and subdividing it into packages with defined stereotypes.

When approaching the problem domain, the initial step is to partition the analysis model. This involves defining cohesive collections of classes, relationships, and behaviors, bundling them into packages or subsystems.

Important Considerations for Subsystems:

  • A subsystem must have a well-
Read More

Dart Streams and SQLite Database Management in Flutter

1. Single Subscription vs. Broadcast Streams

Single Subscription Streams

  • Allows only one listener at a time.
  • Ideal for sequential or one-time data processing, such as reading a file or fetching data from an API.
  • Example: File I/O operations or HTTP requests.

Broadcast Streams

  • Allows multiple listeners simultaneously.
  • Best for scenarios involving real-time data or event broadcasting, such as WebSocket updates or UI events.
  • Example: Button clicks or live data updates.

Code Example:

import 'dart:async';

void 
Read More