📚

Database

TagsComputer science
Created
Updated

Introduction

Why do you need a database?

How to think about databases. (2016, February 09). Retrieved from https://nolanlawson.com/2016/02/08/how-to-think-about-databases

Resources

Introduction

Information, data, and database

Concepts

NameTerms
Storage
DataAssumed factsAtomic datumCharactersQuantitiesSymbols
Databasecoherent dataorganized datarecorded datastorage medium
InformationHuman-readableSynthesized databasecontextual database
KnowledgePredict future from information

Database

💡
Database means organized and atomic collections of the data from the types, structures, and constraints of his storage medium (which usually is electronic), his domain, and his management system.

Archaic. Data bank is an obsolete term for databases.

Types

Data model

  1. Structure.
  1. Operations.
  1. Constraints.

Story

The data is an organizational asset since at least Egyptian times.

🔥
Financial industry

Y2K Problem

Database management system

A database management system (DBMS) is a software system for defining, constructing, and sharing databases among various clients. It abstracts storage medium.

Good database model to deliver good information

Quickly, reliably, and consistently. It also won't be useful if it is stolen, lost, or corrupted when the system crashes.

User Needs and Requirements

This is no book about software engineering, so we’re not able to talk about how to extract business rules -requirements-. Here we’re assuming them, that is, you’re going to learn about database paradigms, their drawbacks, their advantages, and building a Data Model such that it fits with requirements.

Dilbert y las Hojas de Cálculo - Una divertida visión del "Excel Hell". (2023, March 20). Retrieved from https://outsourceando.blogspot.com/2012/08/dilbert-y-las-hojas-de-calculo-una.html?mc_cid=385764652e&mc_eid=541175b307

Relational databases and SQL

If you don't have a special constraint or requirement, you should use a relational database.

Data-interchange format

XML

JSON

http://www.json.org/xml.html

YAML

Spreadsheets

Storage

Flat Files

JSON

XML (XML)

Facts with prolog (facts = data)

https://stackoverflow.com/questions/2117651/comparing-sql-and-prolog

Worked examples

package.json

timeline

Of Prolog, T. P. (2022, April 03). A Tour of Prolog. Youtube. Retrieved from https://www.youtube.com/watch?v=8XUutFBbUrg&ab_channel=ThePowerofProlog

INI Files

Spreadsheets

Hierarchical Databases

Geographical Information System Database

NoSQL or non-relational

Key-value store, Redis case

JSON-like document store, MongoDB case

Wide-column store, Cassandra case

Graph database, Neo4j case

https://neo4j.com/

Object database

Tabular

Tuple store

Triple/quad store (RDF) database

Multivalue database

Multimodel database

Information Retrieval

Key questions

How to choose a database for your project?

Are spreadsheets -Excel-, Access, Notion,... a database?

Yes, they are. But they won't either scale very well or fit with your needs. Remember they are not real relational databases.

Why we should create an electronic database?

This is an organizational decision.

Is digital more secure than paper?

Yes, it is.

How to keep documents, images, and other blobs?

You shouldn't use your database to keep blobs; Use a file system or object storage.

Next steps