
Database
Tags | Computer 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
Foundations
Foundation Complement
Introduction
Information, data, and database
Concepts
Name | Terms |
---|---|
Storage | |
Data | Assumed factsAtomic datumCharactersQuantitiesSymbols |
Database | coherent dataorganized datarecorded datastorage medium |
Information | Human-readableSynthesized databasecontextual database |
Knowledge | Predict future from information |
Database
Archaic. Data bank is an obsolete term for databases.
Types
Data model
- Structure.
- Operations.
- Constraints.
Story
The data is an organizational asset since at least Egyptian times.
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.
- Defining involves specifying data types and structures, and constraints in the database by a data definition language. Descriptive information in the form of a database catalog or dictionary, which is called meta-data.
- Construing is the process the storing the data by DML – Data Manipulation Language.
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.
- CRUD feature.
- Retrieval
- Controlling redundancy
- Persistent.
- Persistence and Backups.
- Atomicity
- Consistency
- Durability
- Isolation
- Low Cost and Extensibility
- Sharing
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
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
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
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