Lecture 1 - Contextual Database Flashcards
What does a database hold?
All data relevant to our current contextual activity. For example this could be:
- web page links for Web Search
- customer profiles and preferences for a Customer/Retail Store
What do we need to be able to do within the database to allow data-driven operation?
Can store humongous data and also update/delete it/ efficiently retrieve
What is the fundamental functionality of a DBMS?
Software That Can:
- model data (there exist different models, we will use the relational data one , another example could be Object Oriented)
- access data (query , insert ,update, delete)
- analyze data (visualisation , complex queries)
- store data physcally on a hard disk
- secure data (control access to sensitive & confidential data via e.g. encryption and authentication)
- optimise data access (optimisation algorithms & efficient underlying data structures)
- maintain data consistency (e.g. rollback in case of failure )
To a user what is a DBMS? Users’ POV
A box with an interface for users/applications offering the discussed functionality;
- Data Modelling;
- Declarative Programming Language (SQL) to manage & query data
What does declarative mean?
We tall what, but not how
Example of another declarative language?
HTML
What is an example of a Procedural language?
- language which we tell what and how
e.g. Python, C, Java
What does a database have inside?
App connecting to database management system (as we cannot directly interact, there is applications for putting in commands or normal ones that interact using SQL)
Parser
Optimizer
Processing Algorithms
Code Generator
What are the 3 families of data?
- Structured (well defined)
- Unstructured (less info on interpretation)
- Semi-structured (e.g. JSON, it is self-descriptive and they interpret themselves)
What families of data are managed DBMSs?
All of them: documents, graphs,
multimedia content…
What is the datum and metadata of 3 kg in a table?
3 is the datum and kg is the meta-data. Since this would be held in a relation, it is an example of structured data.
What is conceptual data modelling?
transform a textual description of a real problem into a set of concepts conveying exactly the same information, but ones that can be well-defined.
The 2 approaches for conceptual data modelling?
- Entity-Relationship Modeling
( Does not guarantee optimality in operations and query executions.) - Relational Modeling (gurantees query optimisation)
ER Modelling vs Relational Modelling?
E-R model represents the data as entity set, relationship set, and attributes.It is a conceptual model.
The relational Model describes data in a table as attributes and tuples or records.This model is the logical representation of the data model. Better for implementation!
What do both models have (contextually)?
entities
attributes
relationships